aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2021-04-22 09:11:08 +0200
committerMartin Liska <mliska@suse.cz>2021-04-22 09:11:08 +0200
commiteec145f7e114010633174ffd19c4fc572e98042c (patch)
tree1b579797eaa183d69ebb0f2ed1093cf5bdb59801
parentae420abed0fe342866cf2bdfaf0ec1134493b25e (diff)
parentd42088e453042f4f8ba9190a7e29efd937ea2181 (diff)
downloadgcc-eec145f7e114010633174ffd19c4fc572e98042c.zip
gcc-eec145f7e114010633174ffd19c4fc572e98042c.tar.gz
gcc-eec145f7e114010633174ffd19c4fc572e98042c.tar.bz2
Merge branch 'master' into devel/sphinx
-rw-r--r--contrib/ChangeLog5
-rwxr-xr-xcontrib/gcc-changelog/git_update_version.py3
-rw-r--r--gcc/BASE-VER2
-rw-r--r--gcc/ChangeLog199
-rw-r--r--gcc/DATESTAMP2
-rw-r--r--gcc/acinclude.m414
-rw-r--r--gcc/ada/ChangeLog4
-rw-r--r--gcc/ada/gnatvsn.ads2
-rw-r--r--gcc/cgraphunit.c2
-rw-r--r--gcc/common/config/i386/i386-common.c15
-rw-r--r--gcc/config.gcc6
-rw-r--r--gcc/config/aarch64/aarch64-bti-insert.c15
-rw-r--r--gcc/config/i386/darwin.h5
-rw-r--r--gcc/config/i386/i386-builtins.c4
-rw-r--r--gcc/config/i386/i386-c.c2
-rw-r--r--gcc/config/i386/i386-expand.c2
-rw-r--r--gcc/config/i386/i386-isa.def110
-rw-r--r--gcc/config/i386/i386-options.c317
-rw-r--r--gcc/config/i386/i386-opts.h4
-rw-r--r--gcc/config/i386/i386.c23
-rw-r--r--gcc/config/i386/i386.h347
-rw-r--r--gcc/config/i386/i386.md12
-rw-r--r--gcc/config/i386/i386.opt4
-rw-r--r--gcc/config/i386/ia32intrin.h28
-rw-r--r--gcc/config/i386/mwaitintrin.h52
-rw-r--r--gcc/config/i386/pmmintrin.h13
-rw-r--r--gcc/config/i386/sse.md4
-rw-r--r--gcc/config/i386/stringop.def9
-rw-r--r--gcc/config/i386/x86-tune-sched-atom.c7
-rw-r--r--gcc/config/i386/x86-tune-sched-bd.c5
-rw-r--r--gcc/config/i386/x86-tune-sched.c2
-rw-r--r--gcc/config/i386/x86gprintrin.h2
-rw-r--r--gcc/config/rs6000/rs6000.c2
-rwxr-xr-xgcc/configure14
-rw-r--r--gcc/cp/ChangeLog26
-rw-r--r--gcc/cp/error.c5
-rw-r--r--gcc/cp/parser.c4
-rw-r--r--gcc/cp/pt.c8
-rw-r--r--gcc/cprop.c8
-rw-r--r--gcc/doc/extend.texi5
-rw-r--r--gcc/doc/invoke.texi12
-rw-r--r--gcc/dwarf2out.c4
-rw-r--r--gcc/fold-const.c28
-rw-r--r--gcc/fortran/ChangeLog31
-rw-r--r--gcc/fortran/dump-parse-tree.c33
-rw-r--r--gcc/fortran/gfortran.h12
-rw-r--r--gcc/fortran/match.h1
-rw-r--r--gcc/fortran/openmp.c113
-rw-r--r--gcc/fortran/parse.c6
-rw-r--r--gcc/fortran/resolve.c1
-rw-r--r--gcc/fortran/st.c1
-rw-r--r--gcc/fortran/trans-intrinsic.c26
-rw-r--r--gcc/fortran/trans-openmp.c68
-rw-r--r--gcc/fortran/trans.c1
-rw-r--r--gcc/gimple-fold.c77
-rw-r--r--gcc/ipa-modref.c3
-rw-r--r--gcc/lto-wrapper.c3
-rw-r--r--gcc/main.c7
-rw-r--r--gcc/opth-gen.awk11
-rw-r--r--gcc/params.opt2
-rw-r--r--gcc/po/ChangeLog4
-rw-r--r--gcc/po/gcc.pot11217
-rw-r--r--gcc/testsuite/ChangeLog80
-rw-r--r--gcc/testsuite/c-c++-common/attr-retain-10.c11
-rw-r--r--gcc/testsuite/c-c++-common/attr-retain-11.c11
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-1.c2
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-2.c2
-rw-r--r--gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-52830.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/enum_base4.C8
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/enum_base5.C7
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic14.C8
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/vt-88982.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/auto-fn61.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-lambda26.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/nontype-class39.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr100148.C27
-rw-r--r--gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c2
-rw-r--r--gcc/testsuite/gcc.dg/vect/bb-slp-39.c3
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr71264.c2
-rw-r--r--gcc/testsuite/gcc.target/aarch64/pr99988.c66
-rw-r--r--gcc/testsuite/gcc.target/i386/monitor-2.c27
-rw-r--r--gcc/testsuite/gcc.target/s390/zero-scratch-regs-1.c95
-rw-r--r--gcc/testsuite/gfortran.dg/bind_c_array_params_2.f903
-rw-r--r--gcc/testsuite/gfortran.dg/gomp/depobj-1.f9025
-rw-r--r--gcc/testsuite/gfortran.dg/gomp/depobj-2.f9033
-rw-r--r--gcc/tree-cfg.c29
-rw-r--r--gcc/tree.c18
-rw-r--r--gcc/varasm.c60
-rw-r--r--libgomp/ChangeLog21
-rw-r--r--libgomp/testsuite/lib/libgomp.exp20
-rw-r--r--libgomp/testsuite/libgomp.c-c++-common/function-not-offloaded.c2
-rw-r--r--libgomp/testsuite/libgomp.c-c++-common/reduction-16.c2
-rw-r--r--libgomp/testsuite/libgomp.c-c++-common/variable-not-offloaded.c4
-rw-r--r--libgomp/testsuite/libgomp.c/pr86416-1.c4
-rw-r--r--libgomp/testsuite/libgomp.c/pr86416-2.c4
-rw-r--r--libgomp/testsuite/libgomp.fortran/depobj-1.f90112
-rw-r--r--libiberty/ChangeLog6
-rw-r--r--libiberty/rust-demangle.c9
-rw-r--r--libphobos/ChangeLog20
-rw-r--r--libphobos/libdruntime/core/thread/osthread.d68
-rw-r--r--libstdc++-v3/ChangeLog182
-rw-r--r--libstdc++-v3/acinclude.m42
-rw-r--r--libstdc++-v3/config.h.in8
-rw-r--r--libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt242
-rwxr-xr-xlibstdc++-v3/configure2
-rw-r--r--libstdc++-v3/include/Makefile.am1
-rw-r--r--libstdc++-v3/include/Makefile.in1
-rw-r--r--libstdc++-v3/include/bits/atomic_base.h39
-rw-r--r--libstdc++-v3/include/bits/atomic_timed_wait.h465
-rw-r--r--libstdc++-v3/include/bits/atomic_wait.h457
-rw-r--r--libstdc++-v3/include/bits/semaphore_base.h207
-rw-r--r--libstdc++-v3/include/bits/stl_iterator.h128
-rw-r--r--libstdc++-v3/include/bits/this_thread_sleep.h119
-rw-r--r--libstdc++-v3/include/std/atomic15
-rw-r--r--libstdc++-v3/include/std/barrier13
-rw-r--r--libstdc++-v3/include/std/charconv5
-rw-r--r--libstdc++-v3/include/std/latch14
-rw-r--r--libstdc++-v3/include/std/ranges299
-rw-r--r--libstdc++-v3/include/std/semaphore15
-rw-r--r--libstdc++-v3/include/std/thread68
-rw-r--r--libstdc++-v3/include/std/version4
-rw-r--r--libstdc++-v3/python/Makefile.am20
-rw-r--r--libstdc++-v3/python/Makefile.in14
-rw-r--r--libstdc++-v3/testsuite/20_util/from_chars/4.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/from_chars/5.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/from_chars/6.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/to_chars/long_double.cc2
-rw-r--r--libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis_c++20.cc1
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/bool.cc37
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/generic.cc19
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/pointers.cc36
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_flag/wait_notify/1.cc37
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_float/wait_notify.cc26
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_integral/wait_notify.cc73
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic_ref/wait_notify.cc74
-rw-r--r--libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_for.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_until.cc2
-rw-r--r--libstdc++-v3/testsuite/std/ranges/p2259.cc91
-rw-r--r--libstdc++-v3/testsuite/util/testsuite_abi.cc16
-rw-r--r--lto-plugin/ChangeLog4
-rw-r--r--lto-plugin/lto-plugin.c6
-rw-r--r--maintainer-scripts/ChangeLog5
-rw-r--r--maintainer-scripts/crontab9
144 files changed, 9104 insertions, 7422 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 39f46c4..68ad244 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,8 @@
+2021-04-20 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc-changelog/git_update_version.py (active_refs): Add
+ releases/gcc-11.
+
2021-04-12 Martin Liska <mliska@suse.cz>
* gcc-changelog/git_commit.py: Do not allow space in long lines.
diff --git a/contrib/gcc-changelog/git_update_version.py b/contrib/gcc-changelog/git_update_version.py
index 1e2b22b..9bc41bb 100755
--- a/contrib/gcc-changelog/git_update_version.py
+++ b/contrib/gcc-changelog/git_update_version.py
@@ -57,7 +57,8 @@ def prepend_to_changelog_files(repo, folder, git_commit, add_to_git):
repo.git.add(full_path)
-active_refs = ['master', 'releases/gcc-8', 'releases/gcc-9', 'releases/gcc-10']
+active_refs = ['master', 'releases/gcc-8', 'releases/gcc-9', 'releases/gcc-10',
+ 'releases/gcc-11']
parser = argparse.ArgumentParser(description='Update DATESTAMP and generate '
'ChangeLog entries')
diff --git a/gcc/BASE-VER b/gcc/BASE-VER
index 0719738..4044f90 100644
--- a/gcc/BASE-VER
+++ b/gcc/BASE-VER
@@ -1 +1 @@
-11.0.1
+12.0.0
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 015f9a3..fb2cecb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,202 @@
+2021-04-21 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/i386/darwin.h (TARGET_64BIT): Remove definition
+ based on TARGET_ISA_64BIT.
+ (TARGET_64BIT_P): Remove definition based on
+ TARGET_ISA_64BIT_P().
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ Revert:
+ 2021-04-21 Martin Liska <mliska@suse.cz>
+
+ * lto-wrapper.c (cpuset_popcount): Remove.
+ (init_num_threads): Remove and use hardware_concurrency.
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ PR jit/98615
+ * main.c (main): Call toplev::finalize in CHECKING_P mode.
+ * ipa-modref.c (ipa_modref_c_finalize): summaries are NULL
+ when incremental LTO linking happens.
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ * lto-wrapper.c (run_gcc): When -flto=jobserver is used, but the
+ makeserver cannot be detected, then use -flto=N fallback.
+
+2021-04-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ * acinclude.m4 (gcc_AC_INITFINI_ARRAY): When cross-compiling,
+ default to yes for aarch64-linux-gnu.
+ * configure: Regenerate.
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ * lto-wrapper.c (cpuset_popcount): Remove.
+ (init_num_threads): Remove and use hardware_concurrency.
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ * config/i386/i386.c: Remove superfluous || TARGET_MACHO
+ which remains to be '(... || 0)' and clang complains about it.
+ * dwarf2out.c (AT_vms_delta): Declare conditionally.
+ (add_AT_vms_delta): Likewise.
+ * tree.c (fld_simplified_type): Use rather more common pattern
+ for disabling of something (#if 0).
+ (get_tree_code_name): Likewise.
+ (verify_type_variant): Likewise.
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ * config/i386/i386-expand.c (decide_alignment): Use newly named
+ macro TARGET_CPU_P.
+ * config/i386/i386.c (ix86_decompose_address): Likewise.
+ (ix86_address_cost): Likewise.
+ (ix86_lea_outperforms): Likewise.
+ (ix86_avoid_lea_for_addr): Likewise.
+ (ix86_add_stmt_cost): Likewise.
+ * config/i386/i386.h (TARGET_*): Remove.
+ (TARGET_CPU_P): New macro.
+ * config/i386/i386.md: Use newly named macro TARGET_CPU_P.
+ * config/i386/x86-tune-sched-atom.c (do_reorder_for_imul): Likewise.
+ (swap_top_of_ready_list): Likewise.
+ (ix86_atom_sched_reorder): Likewise.
+ * config/i386/x86-tune-sched-bd.c (ix86_bd_has_dispatch): Likewise.
+ * config/i386/x86-tune-sched.c (ix86_adjust_cost): Likewise.
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ * config/i386/i386-options.c (TARGET_EXPLICIT_NO_SAHF_P):
+ Define.
+ (SET_TARGET_NO_SAHF): Likewise.
+ (TARGET_EXPLICIT_PREFETCH_SSE_P): Likewise.
+ (SET_TARGET_PREFETCH_SSE): Likewise.
+ (TARGET_EXPLICIT_NO_TUNE_P): Likewise.
+ (SET_TARGET_NO_TUNE): Likewise.
+ (TARGET_EXPLICIT_NO_80387_P): Likewise.
+ (SET_TARGET_NO_80387): Likewise.
+ (DEF_PTA): New.
+ * config/i386/i386.h (TARGET_*): Remove.
+ * opth-gen.awk: Generate new used macros.
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ * config/i386/i386.h (PTA_*): Remove.
+ (enum pta_flag): New.
+ (DEF_PTA): Generate PTA_* values from i386-isa.def.
+ * config/i386/i386-isa.def: New file.
+
+2021-04-21 Alex Coplan <alex.coplan@arm.com>
+
+ PR target/99988
+ * config/aarch64/aarch64-bti-insert.c (aarch64_bti_j_insn_p): New.
+ (rest_of_insert_bti): Avoid inserting duplicate bti j insns for
+ jump table targets.
+
+2021-04-21 H.J. Lu <hjl.tools@gmail.com>
+
+ * config.gcc: Install mwaitintrin.h for i[34567]86-*-* and
+ x86_64-*-* targets.
+ * common/config/i386/i386-common.c (OPTION_MASK_ISA2_MWAIT_SET):
+ New.
+ (OPTION_MASK_ISA2_MWAIT_UNSET): Likewise.
+ (ix86_handle_option): Handle -mmwait.
+ * config/i386/i386-builtins.c (ix86_init_mmx_sse_builtins):
+ Replace OPTION_MASK_ISA_SSE3 with OPTION_MASK_ISA2_MWAIT on
+ __builtin_ia32_monitor and __builtin_ia32_mwait.
+ * config/i386/i386-options.c (isa2_opts): Add -mmwait.
+ (ix86_valid_target_attribute_inner_p): Likewise.
+ (ix86_option_override_internal): Enable mwait/monitor
+ instructions for -msse3.
+ * config/i386/i386.h (TARGET_MWAIT): New.
+ (TARGET_MWAIT_P): Likewise.
+ * config/i386/i386.opt: Add -mmwait.
+ * config/i386/mwaitintrin.h: New file.
+ * config/i386/pmmintrin.h: Include <mwaitintrin.h>.
+ * config/i386/sse.md (sse3_mwait): Replace TARGET_SSE3 with
+ TARGET_MWAIT.
+ (@sse3_monitor_<mode>): Likewise.
+ * config/i386/x86gprintrin.h: Include <mwaitintrin.h>.
+ * doc/extend.texi: Document mwait target attribute.
+ * doc/invoke.texi: Document -mmwait.
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ * config/i386/i386-options.c (DEF_ENUM): Remove it.
+ * config/i386/i386-opts.h (DEF_ENUM): Likewise.
+ * config/i386/stringop.def (DEF_ENUM): Likewise.
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ * tree-cfg.c (gimple_verify_flow_info): Use qD instead
+ of print_generic_expr.
+
+2021-04-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/100148
+ * cprop.c (constprop_register): Use next_nondebug_insn instead of
+ NEXT_INSN.
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ PR ipa/98815
+ * cgraphunit.c (cgraph_node::analyze): Remove duplicate
+ free_dominance_info calls.
+
+2021-04-21 Richard Biener <rguenther@suse.de>
+
+ * gimple-fold.c (maybe_fold_reference): Remove is_lhs
+ parameter (and assume it to be false).
+ (fold_gimple_assign): Adjust, remove all callers of
+ maybe_fold_reference calling it with is_lhs true.
+ (gimple_fold_call): Likewise.
+ (fold_stmt_1): Likewise.
+
+2021-04-21 Richard Biener <rguenther@suse.de>
+
+ * fold-const.c (pedantic_non_lvalue_loc): Remove.
+ (fold_binary_loc): Adjust.
+ (fold_ternary_loc): Likewise.
+
+2021-04-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR middle-end/100130
+ * varasm.c (get_block_for_decl): Make sure that any use of the
+ retain attribute matches the section's retain flag.
+ (switch_to_section): Check for retain mismatches even when
+ changing sections, but do not warn if the given decl is the
+ section's named.decl.
+ (output_object_block): Pass the first decl in the block (if any)
+ to switch_to_section.
+
+2021-04-20 H.J. Lu <hjl.tools@gmail.com>
+
+ * config/i386/i386-c.c (ix86_target_macros_internal): Define
+ __CRC32__ for -mcrc32.
+ * config/i386/i386-options.c (ix86_option_override_internal):
+ Enable crc32 instruction for -msse4.2.
+ * config/i386/i386.md (sse4_2_crc32<mode>): Remove TARGET_SSE4_2
+ check.
+ (sse4_2_crc32di): Likewise.
+ * config/i386/ia32intrin.h: Use crc32 target option for CRC32
+ intrinsics.
+
+2021-04-20 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/100108
+ * config/rs6000/rs6000.c (rs6000_machine_from_flags): Do not consider
+ OPTION_MASK_ISEL.
+
+2021-04-20 Martin Liska <mliska@suse.cz>
+
+ * doc/invoke.texi: Fix typo.
+ * params.opt: Likewise.
+
+2021-04-20 Martin Liska <mliska@suse.cz>
+
+ * doc/invoke.texi: Document new param.
+
2021-04-19 Andrew MacLeod <amacleod@redhat.com>
PR tree-optimization/100081
diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP
index b392715..87bf2ff 100644
--- a/gcc/DATESTAMP
+++ b/gcc/DATESTAMP
@@ -1 +1 @@
-20210420
+20210422
diff --git a/gcc/acinclude.m4 b/gcc/acinclude.m4
index 74c1824..f9f6a07 100644
--- a/gcc/acinclude.m4
+++ b/gcc/acinclude.m4
@@ -422,8 +422,18 @@ changequote([,])dnl
])],, [gcc_cv_initfini_array=no]);;
esac
else
- AC_MSG_CHECKING(cross compile... guessing)
- gcc_cv_initfini_array=no
+ case "${target}" in
+ aarch64*-linux-gnu*)
+ # AArch64 postdates glibc support for .init_array/.fini_array,
+ # so we don't need the preprocessor test above.
+ gcc_cv_initfini_array=yes
+ ;;
+
+ *)
+ AC_MSG_CHECKING(cross compile... guessing)
+ gcc_cv_initfini_array=no
+ ;;
+ esac
fi])
enable_initfini_array=$gcc_cv_initfini_array
])
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index d64ae06..55ef853 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,7 @@
+2021-04-20 Martin Liska <mliska@suse.cz>
+
+ * gnatvsn.ads: Bump Library_Version to 12.
+
2021-04-13 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/misc.c (gnat_init): Set default range bits to 0.
diff --git a/gcc/ada/gnatvsn.ads b/gcc/ada/gnatvsn.ads
index bbfa9f5..c0a77bc 100644
--- a/gcc/ada/gnatvsn.ads
+++ b/gcc/ada/gnatvsn.ads
@@ -32,7 +32,7 @@ package Gnatvsn is
-- Static string identifying this version, that can be used as an argument
-- to e.g. pragma Ident.
- Library_Version : constant String := "11";
+ Library_Version : constant String := "12";
-- Library version. It needs to be updated whenever the major version
-- number is changed.
--
diff --git a/gcc/cgraphunit.c b/gcc/cgraphunit.c
index 0b70e4d..098eb99 100644
--- a/gcc/cgraphunit.c
+++ b/gcc/cgraphunit.c
@@ -678,8 +678,6 @@ cgraph_node::analyze (void)
gimple_register_cfg_hooks ();
bitmap_obstack_initialize (NULL);
execute_pass_list (cfun, g->get_passes ()->all_lowering_passes);
- free_dominance_info (CDI_POST_DOMINATORS);
- free_dominance_info (CDI_DOMINATORS);
compact_blocks ();
bitmap_obstack_release (NULL);
lowered = true;
diff --git a/gcc/common/config/i386/i386-common.c b/gcc/common/config/i386/i386-common.c
index 1e6c159..af3f387 100644
--- a/gcc/common/config/i386/i386-common.c
+++ b/gcc/common/config/i386/i386-common.c
@@ -150,6 +150,7 @@ along with GCC; see the file COPYING3. If not see
#define OPTION_MASK_ISA_F16C_SET \
(OPTION_MASK_ISA_F16C | OPTION_MASK_ISA_AVX_SET)
#define OPTION_MASK_ISA2_MWAITX_SET OPTION_MASK_ISA2_MWAITX
+#define OPTION_MASK_ISA2_MWAIT_SET OPTION_MASK_ISA2_MWAIT
#define OPTION_MASK_ISA2_CLZERO_SET OPTION_MASK_ISA2_CLZERO
#define OPTION_MASK_ISA_PKU_SET OPTION_MASK_ISA_PKU
#define OPTION_MASK_ISA2_RDPID_SET OPTION_MASK_ISA2_RDPID
@@ -245,6 +246,7 @@ along with GCC; see the file COPYING3. If not see
#define OPTION_MASK_ISA_XSAVES_UNSET OPTION_MASK_ISA_XSAVES
#define OPTION_MASK_ISA_CLWB_UNSET OPTION_MASK_ISA_CLWB
#define OPTION_MASK_ISA2_MWAITX_UNSET OPTION_MASK_ISA2_MWAITX
+#define OPTION_MASK_ISA2_MWAIT_UNSET OPTION_MASK_ISA2_MWAIT
#define OPTION_MASK_ISA2_CLZERO_UNSET OPTION_MASK_ISA2_CLZERO
#define OPTION_MASK_ISA_PKU_UNSET OPTION_MASK_ISA_PKU
#define OPTION_MASK_ISA2_RDPID_UNSET OPTION_MASK_ISA2_RDPID
@@ -1546,6 +1548,19 @@ ix86_handle_option (struct gcc_options *opts,
}
return true;
+ case OPT_mmwait:
+ if (value)
+ {
+ opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_MWAIT_SET;
+ opts->x_ix86_isa_flags2_explicit |= OPTION_MASK_ISA2_MWAIT_SET;
+ }
+ else
+ {
+ opts->x_ix86_isa_flags2 &= ~OPTION_MASK_ISA2_MWAIT_UNSET;
+ opts->x_ix86_isa_flags2_explicit |= OPTION_MASK_ISA2_MWAIT_UNSET;
+ }
+ return true;
+
case OPT_mclzero:
if (value)
{
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 357b0be..a020e08 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -414,7 +414,8 @@ i[34567]86-*-*)
avx512vp2intersectintrin.h avx512vp2intersectvlintrin.h
tsxldtrkintrin.h amxtileintrin.h amxint8intrin.h
amxbf16intrin.h x86gprintrin.h uintrintrin.h
- hresetintrin.h keylockerintrin.h avxvnniintrin.h"
+ hresetintrin.h keylockerintrin.h avxvnniintrin.h
+ mwaitintrin.h"
;;
x86_64-*-*)
cpu_type=i386
@@ -451,7 +452,8 @@ x86_64-*-*)
avx512vp2intersectintrin.h avx512vp2intersectvlintrin.h
tsxldtrkintrin.h amxtileintrin.h amxint8intrin.h
amxbf16intrin.h x86gprintrin.h uintrintrin.h
- hresetintrin.h keylockerintrin.h avxvnniintrin.h"
+ hresetintrin.h keylockerintrin.h avxvnniintrin.h
+ mwaitintrin.h"
;;
ia64-*-*)
extra_headers=ia64intrin.h
diff --git a/gcc/config/aarch64/aarch64-bti-insert.c b/gcc/config/aarch64/aarch64-bti-insert.c
index 9366497..5d6bc16 100644
--- a/gcc/config/aarch64/aarch64-bti-insert.c
+++ b/gcc/config/aarch64/aarch64-bti-insert.c
@@ -120,6 +120,17 @@ aarch64_pac_insn_p (rtx x)
return false;
}
+/* Check if INSN is a BTI J insn. */
+static bool
+aarch64_bti_j_insn_p (rtx_insn *insn)
+{
+ if (!insn || !INSN_P (insn))
+ return false;
+
+ rtx pat = PATTERN (insn);
+ return GET_CODE (pat) == UNSPEC_VOLATILE && XINT (pat, 1) == UNSPECV_BTI_J;
+}
+
/* Insert the BTI instruction. */
/* This is implemented as a late RTL pass that runs before branch
shortening and does the following. */
@@ -165,6 +176,10 @@ rest_of_insert_bti (void)
for (j = GET_NUM_ELEM (vec) - 1; j >= 0; --j)
{
label = as_a <rtx_insn *> (XEXP (RTVEC_ELT (vec, j), 0));
+ rtx_insn *next = next_nonnote_nondebug_insn (label);
+ if (aarch64_bti_j_insn_p (next))
+ continue;
+
bti_insn = gen_bti_j ();
emit_insn_after (bti_insn, label);
}
diff --git a/gcc/config/i386/darwin.h b/gcc/config/i386/darwin.h
index c81db9b..2657dfe 100644
--- a/gcc/config/i386/darwin.h
+++ b/gcc/config/i386/darwin.h
@@ -25,11 +25,6 @@ along with GCC; see the file COPYING3. If not see
#undef DARWIN_X86
#define DARWIN_X86 1
-#undef TARGET_64BIT
-#define TARGET_64BIT TARGET_ISA_64BIT
-#undef TARGET_64BIT_P
-#define TARGET_64BIT_P(x) TARGET_ISA_64BIT_P(x)
-
#ifdef IN_LIBGCC2
#undef TARGET_64BIT
#ifdef __x86_64__
diff --git a/gcc/config/i386/i386-builtins.c b/gcc/config/i386/i386-builtins.c
index 4fcdf4b..128bd39 100644
--- a/gcc/config/i386/i386-builtins.c
+++ b/gcc/config/i386/i386-builtins.c
@@ -628,9 +628,9 @@ ix86_init_mmx_sse_builtins (void)
VOID_FTYPE_VOID, IX86_BUILTIN_MFENCE);
/* SSE3. */
- def_builtin (OPTION_MASK_ISA_SSE3, 0, "__builtin_ia32_monitor",
+ def_builtin (0, OPTION_MASK_ISA2_MWAIT, "__builtin_ia32_monitor",
VOID_FTYPE_PCVOID_UNSIGNED_UNSIGNED, IX86_BUILTIN_MONITOR);
- def_builtin (OPTION_MASK_ISA_SSE3, 0, "__builtin_ia32_mwait",
+ def_builtin (0, OPTION_MASK_ISA2_MWAIT, "__builtin_ia32_mwait",
VOID_FTYPE_UNSIGNED_UNSIGNED, IX86_BUILTIN_MWAIT);
/* AES */
diff --git a/gcc/config/i386/i386-c.c b/gcc/config/i386/i386-c.c
index be46d05..5ed0de0 100644
--- a/gcc/config/i386/i386-c.c
+++ b/gcc/config/i386/i386-c.c
@@ -532,6 +532,8 @@ ix86_target_macros_internal (HOST_WIDE_INT isa_flag,
def_or_undef (parse_in, "__LZCNT__");
if (isa_flag & OPTION_MASK_ISA_TBM)
def_or_undef (parse_in, "__TBM__");
+ if (isa_flag & OPTION_MASK_ISA_CRC32)
+ def_or_undef (parse_in, "__CRC32__");
if (isa_flag & OPTION_MASK_ISA_POPCNT)
def_or_undef (parse_in, "__POPCNT__");
if (isa_flag & OPTION_MASK_ISA_FSGSBASE)
diff --git a/gcc/config/i386/i386-expand.c b/gcc/config/i386/i386-expand.c
index dda08ff..166c23d 100644
--- a/gcc/config/i386/i386-expand.c
+++ b/gcc/config/i386/i386-expand.c
@@ -7055,7 +7055,7 @@ decide_alignment (int align,
desired_align = GET_MODE_SIZE (move_mode);
/* PentiumPro has special logic triggering for 8 byte aligned blocks.
copying whole cacheline at once. */
- if (TARGET_PENTIUMPRO
+ if (TARGET_CPU_P (PENTIUMPRO)
&& (alg == rep_prefix_4_byte || alg == rep_prefix_1_byte))
desired_align = 8;
diff --git a/gcc/config/i386/i386-isa.def b/gcc/config/i386/i386-isa.def
new file mode 100644
index 0000000..a0d46cb
--- /dev/null
+++ b/gcc/config/i386/i386-isa.def
@@ -0,0 +1,110 @@
+/* Definition for processor table alias flags.
+ Copyright (C) 2001-2021 Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 3, or (at your option) any later
+version.
+
+GCC is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+DEF_PTA(3DNOW)
+DEF_PTA(3DNOW_A)
+DEF_PTA(64BIT)
+DEF_PTA(ABM)
+DEF_PTA(AES)
+DEF_PTA(AVX)
+DEF_PTA(BMI)
+DEF_PTA(CX16)
+DEF_PTA(F16C)
+DEF_PTA(FMA)
+DEF_PTA(FMA4)
+DEF_PTA(FSGSBASE)
+DEF_PTA(LWP)
+DEF_PTA(LZCNT)
+DEF_PTA(MMX)
+DEF_PTA(MOVBE)
+DEF_PTA(NO_SAHF)
+DEF_PTA(PCLMUL)
+DEF_PTA(POPCNT)
+DEF_PTA(PREFETCH_SSE)
+DEF_PTA(RDRND)
+DEF_PTA(SSE)
+DEF_PTA(SSE2)
+DEF_PTA(SSE3)
+DEF_PTA(SSE4_1)
+DEF_PTA(SSE4_2)
+DEF_PTA(SSE4A)
+DEF_PTA(SSSE3)
+DEF_PTA(TBM)
+DEF_PTA(XOP)
+DEF_PTA(AVX2)
+DEF_PTA(BMI2)
+DEF_PTA(RTM)
+DEF_PTA(HLE)
+DEF_PTA(PRFCHW)
+DEF_PTA(RDSEED)
+DEF_PTA(ADX)
+DEF_PTA(FXSR)
+DEF_PTA(XSAVE)
+DEF_PTA(XSAVEOPT)
+DEF_PTA(AVX512F)
+DEF_PTA(AVX512ER)
+DEF_PTA(AVX512PF)
+DEF_PTA(AVX512CD)
+DEF_PTA(NO_TUNE)
+DEF_PTA(SHA)
+DEF_PTA(PREFETCHWT1)
+DEF_PTA(CLFLUSHOPT)
+DEF_PTA(XSAVEC)
+DEF_PTA(XSAVES)
+DEF_PTA(AVX512DQ)
+DEF_PTA(AVX512BW)
+DEF_PTA(AVX512VL)
+DEF_PTA(AVX512IFMA)
+DEF_PTA(AVX512VBMI)
+DEF_PTA(CLWB)
+DEF_PTA(MWAITX)
+DEF_PTA(CLZERO)
+DEF_PTA(NO_80387)
+DEF_PTA(PKU)
+DEF_PTA(AVX5124VNNIW)
+DEF_PTA(AVX5124FMAPS)
+DEF_PTA(AVX512VPOPCNTDQ)
+DEF_PTA(SGX)
+DEF_PTA(AVX512VNNI)
+DEF_PTA(GFNI)
+DEF_PTA(VAES)
+DEF_PTA(AVX512VBMI2)
+DEF_PTA(VPCLMULQDQ)
+DEF_PTA(AVX512BITALG)
+DEF_PTA(RDPID)
+DEF_PTA(PCONFIG)
+DEF_PTA(WBNOINVD)
+DEF_PTA(AVX512VP2INTERSECT)
+DEF_PTA(PTWRITE)
+DEF_PTA(AVX512BF16)
+DEF_PTA(WAITPKG)
+DEF_PTA(MOVDIRI)
+DEF_PTA(MOVDIR64B)
+DEF_PTA(ENQCMD)
+DEF_PTA(CLDEMOTE)
+DEF_PTA(SERIALIZE)
+DEF_PTA(TSXLDTRK)
+DEF_PTA(AMX_TILE)
+DEF_PTA(AMX_INT8)
+DEF_PTA(AMX_BF16)
+DEF_PTA(UINTR)
+DEF_PTA(HRESET)
+DEF_PTA(KL)
+DEF_PTA(WIDEKL)
+DEF_PTA(AVXVNNI)
diff --git a/gcc/config/i386/i386-options.c b/gcc/config/i386/i386-options.c
index 91da284..2a12228 100644
--- a/gcc/config/i386/i386-options.c
+++ b/gcc/config/i386/i386-options.c
@@ -207,6 +207,7 @@ static struct ix86_target_opts isa2_opts[] =
{ "-mmovbe", OPTION_MASK_ISA2_MOVBE },
{ "-mclzero", OPTION_MASK_ISA2_CLZERO },
{ "-mmwaitx", OPTION_MASK_ISA2_MWAITX },
+ { "-mmwait", OPTION_MASK_ISA2_MWAIT },
{ "-mmovdir64b", OPTION_MASK_ISA2_MOVDIR64B },
{ "-mwaitpkg", OPTION_MASK_ISA2_WAITPKG },
{ "-mcldemote", OPTION_MASK_ISA2_CLDEMOTE },
@@ -1015,6 +1016,7 @@ ix86_valid_target_attribute_inner_p (tree fndecl, tree args, char *p_strings[],
IX86_ATTR_ISA ("fsgsbase", OPT_mfsgsbase),
IX86_ATTR_ISA ("rdrnd", OPT_mrdrnd),
IX86_ATTR_ISA ("mwaitx", OPT_mmwaitx),
+ IX86_ATTR_ISA ("mwait", OPT_mmwait),
IX86_ATTR_ISA ("clzero", OPT_mclzero),
IX86_ATTR_ISA ("pku", OPT_mpku),
IX86_ATTR_ISA ("lwp", OPT_mlwp),
@@ -1455,10 +1457,8 @@ ix86_valid_target_attribute_p (tree fndecl,
}
const char *stringop_alg_names[] = {
-#define DEF_ENUM
#define DEF_ALG(alg, name) #name,
#include "stringop.def"
-#undef DEF_ENUM
#undef DEF_ALG
};
@@ -2096,285 +2096,40 @@ ix86_option_override_internal (bool main_args_p,
else
ix86_tune = PROCESSOR_GENERIC;
- if (((processor_alias_table[i].flags & PTA_MMX) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_MMX))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_MMX;
- if (((processor_alias_table[i].flags & PTA_3DNOW) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_3DNOW))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_3DNOW;
- if (((processor_alias_table[i].flags & PTA_3DNOW_A) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_3DNOW_A))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_3DNOW_A;
- if (((processor_alias_table[i].flags & PTA_SSE) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_SSE))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_SSE;
- if (((processor_alias_table[i].flags & PTA_SSE2) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_SSE2))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_SSE2;
- if (((processor_alias_table[i].flags & PTA_SSE3) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_SSE3))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_SSE3;
- if (((processor_alias_table[i].flags & PTA_SSSE3) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_SSSE3))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_SSSE3;
- if (((processor_alias_table[i].flags & PTA_SSE4_1) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_SSE4_1))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_SSE4_1;
- if (((processor_alias_table[i].flags & PTA_SSE4_2) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_SSE4_2))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_SSE4_2;
- if (((processor_alias_table[i].flags & PTA_AVX) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX;
- if (((processor_alias_table[i].flags & PTA_AVX2) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX2))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX2;
- if (((processor_alias_table[i].flags & PTA_FMA) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_FMA))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_FMA;
- if (((processor_alias_table[i].flags & PTA_SSE4A) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_SSE4A))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_SSE4A;
- if (((processor_alias_table[i].flags & PTA_FMA4) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_FMA4))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_FMA4;
- if (((processor_alias_table[i].flags & PTA_XOP) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_XOP))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_XOP;
- if (((processor_alias_table[i].flags & PTA_LWP) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_LWP))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_LWP;
+ /* Enable PTA flags that are enabled by default by a -march option. */
+#define TARGET_EXPLICIT_NO_SAHF_P(opts) (false)
+#define SET_TARGET_NO_SAHF(opts) {}
+#define TARGET_EXPLICIT_PREFETCH_SSE_P(opts) (false)
+#define SET_TARGET_PREFETCH_SSE(opts) {}
+#define TARGET_EXPLICIT_NO_TUNE_P(opts) (false)
+#define SET_TARGET_NO_TUNE(opts) {}
+#define TARGET_EXPLICIT_NO_80387_P(opts) (false)
+#define SET_TARGET_NO_80387(opts) {}
+
+#define DEF_PTA(NAME) \
+ if (((processor_alias_table[i].flags & PTA_ ## NAME) != 0) \
+ && PTA_ ## NAME != PTA_64BIT \
+ && !TARGET_EXPLICIT_ ## NAME ## _P (opts)) \
+ SET_TARGET_ ## NAME (opts);
+#include "i386-isa.def"
+#undef DEF_PTA
+
+
+ if (!(TARGET_64BIT_P (opts->x_ix86_isa_flags)
+ && ((processor_alias_table[i].flags & PTA_NO_SAHF) != 0))
+ && !TARGET_EXPLICIT_SAHF_P (opts))
+ SET_TARGET_SAHF (opts);
+
if (((processor_alias_table[i].flags & PTA_ABM) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_ABM))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_ABM;
- if (((processor_alias_table[i].flags & PTA_BMI) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_BMI))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_BMI;
- if (((processor_alias_table[i].flags & (PTA_LZCNT | PTA_ABM)) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_LZCNT))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_LZCNT;
- if (((processor_alias_table[i].flags & PTA_TBM) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_TBM))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_TBM;
- if (((processor_alias_table[i].flags & PTA_BMI2) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_BMI2))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_BMI2;
- if (((processor_alias_table[i].flags & PTA_CX16) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_CX16))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_CX16;
- if (((processor_alias_table[i].flags & (PTA_POPCNT | PTA_ABM)) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_POPCNT))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_POPCNT;
- if (!(TARGET_64BIT_P (opts->x_ix86_isa_flags)
- && ((processor_alias_table[i].flags & PTA_NO_SAHF) != 0))
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_SAHF))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_SAHF;
- if (((processor_alias_table[i].flags & PTA_MOVBE) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_MOVBE))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_MOVBE;
- if (((processor_alias_table[i].flags & PTA_AES) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_AES))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AES;
- if (((processor_alias_table[i].flags & PTA_SHA) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_SHA))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_SHA;
- if (((processor_alias_table[i].flags & PTA_PCLMUL) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_PCLMUL))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_PCLMUL;
- if (((processor_alias_table[i].flags & PTA_FSGSBASE) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_FSGSBASE))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_FSGSBASE;
- if (((processor_alias_table[i].flags & PTA_RDRND) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_RDRND))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_RDRND;
- if (((processor_alias_table[i].flags & PTA_F16C) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_F16C))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_F16C;
- if (((processor_alias_table[i].flags & PTA_RTM) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_RTM))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_RTM;
- if (((processor_alias_table[i].flags & PTA_HLE) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_HLE))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_HLE;
- if (((processor_alias_table[i].flags & PTA_PRFCHW) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_PRFCHW))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_PRFCHW;
- if (((processor_alias_table[i].flags & PTA_RDSEED) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_RDSEED))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_RDSEED;
- if (((processor_alias_table[i].flags & PTA_ADX) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_ADX))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_ADX;
- if (((processor_alias_table[i].flags & PTA_FXSR) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_FXSR))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_FXSR;
- if (((processor_alias_table[i].flags & PTA_XSAVE) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_XSAVE))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_XSAVE;
- if (((processor_alias_table[i].flags & PTA_XSAVEOPT) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_XSAVEOPT))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_XSAVEOPT;
- if (((processor_alias_table[i].flags & PTA_AVX512F) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX512F))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512F;
- if (((processor_alias_table[i].flags & PTA_AVX512ER) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX512ER))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512ER;
- if (((processor_alias_table[i].flags & PTA_AVX512PF) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX512PF))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512PF;
- if (((processor_alias_table[i].flags & PTA_AVX512CD) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX512CD))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512CD;
- if (((processor_alias_table[i].flags & PTA_PREFETCHWT1) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_PREFETCHWT1))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_PREFETCHWT1;
- if (((processor_alias_table[i].flags & PTA_CLWB) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_CLWB))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_CLWB;
- if (((processor_alias_table[i].flags & PTA_CLFLUSHOPT) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_CLFLUSHOPT))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_CLFLUSHOPT;
- if (((processor_alias_table[i].flags & PTA_CLZERO) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_CLZERO))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_CLZERO;
- if (((processor_alias_table[i].flags & PTA_XSAVEC) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_XSAVEC))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_XSAVEC;
- if (((processor_alias_table[i].flags & PTA_XSAVES) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_XSAVES))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_XSAVES;
- if (((processor_alias_table[i].flags & PTA_AVX512DQ) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX512DQ))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512DQ;
- if (((processor_alias_table[i].flags & PTA_AVX512BW) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX512BW))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512BW;
- if (((processor_alias_table[i].flags & PTA_AVX512VL) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX512VL))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512VL;
- if (((processor_alias_table[i].flags & PTA_AVX512VBMI) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX512VBMI))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512VBMI;
- if (((processor_alias_table[i].flags & PTA_AVX512IFMA) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX512IFMA))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512IFMA;
- if (((processor_alias_table[i].flags & PTA_AVX512VNNI) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX512VNNI))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512VNNI;
- if (((processor_alias_table[i].flags & PTA_GFNI) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_GFNI))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_GFNI;
- if (((processor_alias_table[i].flags & PTA_AVX512VBMI2) != 0)
- && !(opts->x_ix86_isa_flags_explicit
- & OPTION_MASK_ISA_AVX512VBMI2))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512VBMI2;
- if (((processor_alias_table[i].flags & PTA_VPCLMULQDQ) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_VPCLMULQDQ))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_VPCLMULQDQ;
- if (((processor_alias_table[i].flags & PTA_AVX512BITALG) != 0)
- && !(opts->x_ix86_isa_flags_explicit
- & OPTION_MASK_ISA_AVX512BITALG))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512BITALG;
-
- if (((processor_alias_table[i].flags & PTA_AVX512VP2INTERSECT) != 0)
- && !(opts->x_ix86_isa_flags2_explicit
- & OPTION_MASK_ISA2_AVX512VP2INTERSECT))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_AVX512VP2INTERSECT;
- if (((processor_alias_table[i].flags & PTA_AVX5124VNNIW) != 0)
- && !(opts->x_ix86_isa_flags2_explicit
- & OPTION_MASK_ISA2_AVX5124VNNIW))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_AVX5124VNNIW;
- if (((processor_alias_table[i].flags & PTA_AVX5124FMAPS) != 0)
- && !(opts->x_ix86_isa_flags2_explicit
- & OPTION_MASK_ISA2_AVX5124FMAPS))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_AVX5124FMAPS;
- if (((processor_alias_table[i].flags & PTA_AVX512VPOPCNTDQ) != 0)
- && !(opts->x_ix86_isa_flags_explicit
- & OPTION_MASK_ISA_AVX512VPOPCNTDQ))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_AVX512VPOPCNTDQ;
- if (((processor_alias_table[i].flags & PTA_AVX512BF16) != 0)
- && !(opts->x_ix86_isa_flags2_explicit
- & OPTION_MASK_ISA2_AVX512BF16))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_AVX512BF16;
- if (((processor_alias_table[i].flags & PTA_AMX_TILE) != 0)
- && !(opts->x_ix86_isa_flags2_explicit
- & OPTION_MASK_ISA2_AMX_TILE))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_AMX_TILE;
- if (((processor_alias_table[i].flags & PTA_AMX_INT8) != 0)
- && !(opts->x_ix86_isa_flags2_explicit
- & OPTION_MASK_ISA2_AMX_INT8))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_AMX_INT8;
- if (((processor_alias_table[i].flags & PTA_AMX_BF16) != 0)
- && !(opts->x_ix86_isa_flags2_explicit
- & OPTION_MASK_ISA2_AMX_BF16))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_AMX_BF16;
- if (((processor_alias_table[i].flags & PTA_AVXVNNI) != 0)
- && !(opts->x_ix86_isa_flags2_explicit
- & OPTION_MASK_ISA2_AVXVNNI))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_AVXVNNI;
- if (((processor_alias_table[i].flags & PTA_MOVDIRI) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_MOVDIRI))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_MOVDIRI;
- if (((processor_alias_table[i].flags & PTA_MOVDIR64B) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_MOVDIR64B))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_MOVDIR64B;
- if (((processor_alias_table[i].flags & PTA_SGX) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_SGX))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_SGX;
- if (((processor_alias_table[i].flags & PTA_VAES) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_VAES))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_VAES;
- if (((processor_alias_table[i].flags & PTA_RDPID) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_RDPID))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_RDPID;
- if (((processor_alias_table[i].flags & PTA_PCONFIG) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_PCONFIG))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_PCONFIG;
- if (((processor_alias_table[i].flags & PTA_WBNOINVD) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_WBNOINVD))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_WBNOINVD;
- if (((processor_alias_table[i].flags & PTA_PTWRITE) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_PTWRITE))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_PTWRITE;
- if (((processor_alias_table[i].flags & PTA_WAITPKG) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_WAITPKG))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_WAITPKG;
- if (((processor_alias_table[i].flags & PTA_ENQCMD) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_ENQCMD))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_ENQCMD;
- if (((processor_alias_table[i].flags & PTA_CLDEMOTE) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_CLDEMOTE))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_CLDEMOTE;
- if (((processor_alias_table[i].flags & PTA_SERIALIZE) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_SERIALIZE))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_SERIALIZE;
- if (((processor_alias_table[i].flags & PTA_TSXLDTRK) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_TSXLDTRK))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_TSXLDTRK;
- if (((processor_alias_table[i].flags & PTA_KL) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_KL))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_KL;
- if (((processor_alias_table[i].flags & PTA_WIDEKL) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_WIDEKL))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_WIDEKL;
+ && !TARGET_EXPLICIT_ABM_P (opts))
+ {
+ SET_TARGET_LZCNT (opts);
+ SET_TARGET_POPCNT (opts);
+ }
if ((processor_alias_table[i].flags
& (PTA_PREFETCH_SSE | PTA_SSE)) != 0)
ix86_prefetch_sse = true;
- if (((processor_alias_table[i].flags & PTA_MWAITX) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_MWAITX))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_MWAITX;
- if (((processor_alias_table[i].flags & PTA_PKU) != 0)
- && !(opts->x_ix86_isa_flags_explicit & OPTION_MASK_ISA_PKU))
- opts->x_ix86_isa_flags |= OPTION_MASK_ISA_PKU;
- if (((processor_alias_table[i].flags & PTA_UINTR) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_UINTR))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_UINTR;
- if (((processor_alias_table[i].flags & PTA_HRESET) != 0)
- && !(opts->x_ix86_isa_flags2_explicit & OPTION_MASK_ISA2_HRESET))
- opts->x_ix86_isa_flags2 |= OPTION_MASK_ISA2_HRESET;
-
/* Don't enable x87 instructions if only general registers are
allowed by target("general-regs-only") function attribute or
@@ -2611,12 +2366,22 @@ ix86_option_override_internal (bool main_args_p,
|| TARGET_PREFETCHWT1_P (opts->x_ix86_isa_flags))
ix86_prefetch_sse = true;
+ /* Enable mwait/monitor instructions for -msse3. */
+ if (TARGET_SSE3_P (opts->x_ix86_isa_flags))
+ opts->x_ix86_isa_flags2
+ |= OPTION_MASK_ISA2_MWAIT & ~opts->x_ix86_isa_flags2_explicit;
+
/* Enable popcnt instruction for -msse4.2 or -mabm. */
if (TARGET_SSE4_2_P (opts->x_ix86_isa_flags)
|| TARGET_ABM_P (opts->x_ix86_isa_flags))
opts->x_ix86_isa_flags
|= OPTION_MASK_ISA_POPCNT & ~opts->x_ix86_isa_flags_explicit;
+ /* Enable crc32 instruction for -msse4.2. */
+ if (TARGET_SSE4_2_P (opts->x_ix86_isa_flags))
+ opts->x_ix86_isa_flags
+ |= OPTION_MASK_ISA_CRC32 & ~opts->x_ix86_isa_flags_explicit;
+
/* Enable lzcnt instruction for -mabm. */
if (TARGET_ABM_P(opts->x_ix86_isa_flags))
opts->x_ix86_isa_flags
diff --git a/gcc/config/i386/i386-opts.h b/gcc/config/i386/i386-opts.h
index de6e7e0..04e4ad6 100644
--- a/gcc/config/i386/i386-opts.h
+++ b/gcc/config/i386/i386-opts.h
@@ -28,16 +28,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* Algorithm to expand string function with. */
enum stringop_alg
{
-#undef DEF_ENUM
-#define DEF_ENUM
-
#undef DEF_ALG
#define DEF_ALG(alg, name) alg,
#include "stringop.def"
last_alg
-#undef DEF_ENUM
#undef DEF_ALG
};
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 7c41302..d3c09bf 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -10179,7 +10179,7 @@ ix86_decompose_address (rtx addr, struct ix86_address *out)
Avoid this by transforming to [%esi+0].
Reload calls address legitimization without cfun defined, so we need
to test cfun for being non-NULL. */
- if (TARGET_K6 && cfun && optimize_function_for_speed_p (cfun)
+ if (TARGET_CPU_P (K6) && cfun && optimize_function_for_speed_p (cfun)
&& base_reg && !index_reg && !disp
&& REGNO (base_reg) == SI_REG)
disp = const0_rtx;
@@ -10257,7 +10257,7 @@ ix86_address_cost (rtx x, machine_mode, addr_space_t, bool)
memory address, but I don't have AMD-K6 machine handy to check this
theory. */
- if (TARGET_K6
+ if (TARGET_CPU_P (K6)
&& ((!parts.disp && parts.base && parts.index && parts.scale != 1)
|| (parts.disp && !parts.base && parts.index && parts.scale != 1)
|| (!parts.disp && parts.base && parts.index && parts.scale == 1)))
@@ -10817,12 +10817,11 @@ ix86_legitimate_address_p (machine_mode, rtx addr, bool strict)
else if (SYMBOLIC_CONST (disp)
&& (flag_pic
- || (TARGET_MACHO
#if TARGET_MACHO
- && MACHOPIC_INDIRECT
- && !machopic_operand_p (disp)
+ || (MACHOPIC_INDIRECT
+ && !machopic_operand_p (disp))
#endif
- )))
+ ))
{
is_legitimate_pic:
@@ -14940,7 +14939,7 @@ ix86_lea_outperforms (rtx_insn *insn, unsigned int regno0, unsigned int regno1,
/* For Atom processors newer than Bonnell, if using a 2-source or
3-source LEA for non-destructive destination purposes, or due to
wanting ability to use SCALE, the use of LEA is justified. */
- if (!TARGET_BONNELL)
+ if (!TARGET_CPU_P (BONNELL))
{
if (has_scale)
return true;
@@ -15082,7 +15081,7 @@ ix86_avoid_lea_for_addr (rtx_insn *insn, rtx operands[])
than lea for most processors. For the processors like BONNELL, if
the destination register of LEA holds an actual address which will
be used soon, LEA is better and otherwise ADD is better. */
- if (!TARGET_BONNELL
+ if (!TARGET_CPU_P (BONNELL)
&& parts.scale == 1
&& (!parts.disp || parts.disp == const0_rtx)
&& (regno0 == regno1 || regno0 == regno2))
@@ -22387,7 +22386,7 @@ ix86_add_stmt_cost (class vec_info *vinfo, void *data, int count,
stmt_cost = ix86_builtin_vectorization_cost (kind, vectype, misalign);
/* Penalize DFmode vector operations for Bonnell. */
- if (TARGET_BONNELL && kind == vector_stmt
+ if (TARGET_CPU_P (BONNELL) && kind == vector_stmt
&& vectype && GET_MODE_INNER (TYPE_MODE (vectype)) == DFmode)
stmt_cost *= 5; /* FIXME: The value here is arbitrary. */
@@ -22403,8 +22402,10 @@ ix86_add_stmt_cost (class vec_info *vinfo, void *data, int count,
/* We need to multiply all vector stmt cost by 1.7 (estimated cost)
for Silvermont as it has out of order integer pipeline and can execute
2 scalar instruction per tick, but has in order SIMD pipeline. */
- if ((TARGET_SILVERMONT || TARGET_GOLDMONT || TARGET_GOLDMONT_PLUS
- || TARGET_TREMONT || TARGET_INTEL) && stmt_info && stmt_info->stmt)
+ if ((TARGET_CPU_P (SILVERMONT) || TARGET_CPU_P (GOLDMONT)
+ || TARGET_CPU_P (GOLDMONT_PLUS) || TARGET_CPU_P (TREMONT)
+ || TARGET_CPU_P (INTEL))
+ && stmt_info && stmt_info->stmt)
{
tree lhs_op = gimple_get_lhs (stmt_info->stmt);
if (lhs_op && TREE_CODE (TREE_TYPE (lhs_op)) == INTEGER_TYPE)
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index 97700d7..96b46ba 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -39,192 +39,14 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* Redefines for option macros. */
-#define TARGET_64BIT TARGET_ISA_64BIT
-#define TARGET_64BIT_P(x) TARGET_ISA_64BIT_P(x)
-#define TARGET_MMX TARGET_ISA_MMX
-#define TARGET_MMX_P(x) TARGET_ISA_MMX_P(x)
-#define TARGET_3DNOW TARGET_ISA_3DNOW
-#define TARGET_3DNOW_P(x) TARGET_ISA_3DNOW_P(x)
-#define TARGET_3DNOW_A TARGET_ISA_3DNOW_A
-#define TARGET_3DNOW_A_P(x) TARGET_ISA_3DNOW_A_P(x)
-#define TARGET_SSE TARGET_ISA_SSE
-#define TARGET_SSE_P(x) TARGET_ISA_SSE_P(x)
-#define TARGET_SSE2 TARGET_ISA_SSE2
-#define TARGET_SSE2_P(x) TARGET_ISA_SSE2_P(x)
-#define TARGET_SSE3 TARGET_ISA_SSE3
-#define TARGET_SSE3_P(x) TARGET_ISA_SSE3_P(x)
-#define TARGET_SSSE3 TARGET_ISA_SSSE3
-#define TARGET_SSSE3_P(x) TARGET_ISA_SSSE3_P(x)
-#define TARGET_SSE4_1 TARGET_ISA_SSE4_1
-#define TARGET_SSE4_1_P(x) TARGET_ISA_SSE4_1_P(x)
-#define TARGET_SSE4_2 TARGET_ISA_SSE4_2
-#define TARGET_SSE4_2_P(x) TARGET_ISA_SSE4_2_P(x)
-#define TARGET_AVX TARGET_ISA_AVX
-#define TARGET_AVX_P(x) TARGET_ISA_AVX_P(x)
-#define TARGET_AVX2 TARGET_ISA_AVX2
-#define TARGET_AVX2_P(x) TARGET_ISA_AVX2_P(x)
-#define TARGET_AVX512F TARGET_ISA_AVX512F
-#define TARGET_AVX512F_P(x) TARGET_ISA_AVX512F_P(x)
-#define TARGET_AVX512PF TARGET_ISA_AVX512PF
-#define TARGET_AVX512PF_P(x) TARGET_ISA_AVX512PF_P(x)
-#define TARGET_AVX512ER TARGET_ISA_AVX512ER
-#define TARGET_AVX512ER_P(x) TARGET_ISA_AVX512ER_P(x)
-#define TARGET_AVX512CD TARGET_ISA_AVX512CD
-#define TARGET_AVX512CD_P(x) TARGET_ISA_AVX512CD_P(x)
-#define TARGET_AVX512DQ TARGET_ISA_AVX512DQ
-#define TARGET_AVX512DQ_P(x) TARGET_ISA_AVX512DQ_P(x)
-#define TARGET_AVX512BW TARGET_ISA_AVX512BW
-#define TARGET_AVX512BW_P(x) TARGET_ISA_AVX512BW_P(x)
-#define TARGET_AVX512VL TARGET_ISA_AVX512VL
-#define TARGET_AVX512VL_P(x) TARGET_ISA_AVX512VL_P(x)
-#define TARGET_AVX512VBMI TARGET_ISA_AVX512VBMI
-#define TARGET_AVX512VBMI_P(x) TARGET_ISA_AVX512VBMI_P(x)
-#define TARGET_AVX512IFMA TARGET_ISA_AVX512IFMA
-#define TARGET_AVX512IFMA_P(x) TARGET_ISA_AVX512IFMA_P(x)
-#define TARGET_AVX5124FMAPS TARGET_ISA2_AVX5124FMAPS
-#define TARGET_AVX5124FMAPS_P(x) TARGET_ISA2_AVX5124FMAPS_P(x)
-#define TARGET_AVX5124VNNIW TARGET_ISA2_AVX5124VNNIW
-#define TARGET_AVX5124VNNIW_P(x) TARGET_ISA2_AVX5124VNNIW_P(x)
-#define TARGET_AVX512VBMI2 TARGET_ISA_AVX512VBMI2
-#define TARGET_AVX512VBMI2_P(x) TARGET_ISA_AVX512VBMI2_P(x)
-#define TARGET_AVX512VPOPCNTDQ TARGET_ISA_AVX512VPOPCNTDQ
-#define TARGET_AVX512VPOPCNTDQ_P(x) TARGET_ISA_AVX512VPOPCNTDQ_P(x)
-#define TARGET_AVX512VNNI TARGET_ISA_AVX512VNNI
-#define TARGET_AVX512VNNI_P(x) TARGET_ISA_AVX512VNNI_P(x)
-#define TARGET_AVX512BITALG TARGET_ISA_AVX512BITALG
-#define TARGET_AVX512BITALG_P(x) TARGET_ISA_AVX512BITALG_P(x)
-#define TARGET_AVX512VP2INTERSECT TARGET_ISA2_AVX512VP2INTERSECT
-#define TARGET_AVX512VP2INTERSECT_P(x) TARGET_ISA2_AVX512VP2INTERSECT_P(x)
-#define TARGET_FMA TARGET_ISA_FMA
-#define TARGET_FMA_P(x) TARGET_ISA_FMA_P(x)
-#define TARGET_SSE4A TARGET_ISA_SSE4A
-#define TARGET_SSE4A_P(x) TARGET_ISA_SSE4A_P(x)
-#define TARGET_FMA4 TARGET_ISA_FMA4
-#define TARGET_FMA4_P(x) TARGET_ISA_FMA4_P(x)
-#define TARGET_XOP TARGET_ISA_XOP
-#define TARGET_XOP_P(x) TARGET_ISA_XOP_P(x)
-#define TARGET_LWP TARGET_ISA_LWP
-#define TARGET_LWP_P(x) TARGET_ISA_LWP_P(x)
-#define TARGET_ABM TARGET_ISA_ABM
-#define TARGET_ABM_P(x) TARGET_ISA_ABM_P(x)
-#define TARGET_PCONFIG TARGET_ISA2_PCONFIG
-#define TARGET_PCONFIG_P(x) TARGET_ISA2_PCONFIG_P(x)
-#define TARGET_WBNOINVD TARGET_ISA2_WBNOINVD
-#define TARGET_WBNOINVD_P(x) TARGET_ISA2_WBNOINVD_P(x)
-#define TARGET_SGX TARGET_ISA2_SGX
-#define TARGET_SGX_P(x) TARGET_ISA2_SGX_P(x)
-#define TARGET_RDPID TARGET_ISA2_RDPID
-#define TARGET_RDPID_P(x) TARGET_ISA2_RDPID_P(x)
-#define TARGET_GFNI TARGET_ISA_GFNI
-#define TARGET_GFNI_P(x) TARGET_ISA_GFNI_P(x)
-#define TARGET_VAES TARGET_ISA2_VAES
-#define TARGET_VAES_P(x) TARGET_ISA2_VAES_P(x)
-#define TARGET_VPCLMULQDQ TARGET_ISA_VPCLMULQDQ
-#define TARGET_VPCLMULQDQ_P(x) TARGET_ISA_VPCLMULQDQ_P(x)
-#define TARGET_BMI TARGET_ISA_BMI
-#define TARGET_BMI_P(x) TARGET_ISA_BMI_P(x)
-#define TARGET_BMI2 TARGET_ISA_BMI2
-#define TARGET_BMI2_P(x) TARGET_ISA_BMI2_P(x)
-#define TARGET_LZCNT TARGET_ISA_LZCNT
-#define TARGET_LZCNT_P(x) TARGET_ISA_LZCNT_P(x)
-#define TARGET_TBM TARGET_ISA_TBM
-#define TARGET_TBM_P(x) TARGET_ISA_TBM_P(x)
-#define TARGET_POPCNT TARGET_ISA_POPCNT
-#define TARGET_POPCNT_P(x) TARGET_ISA_POPCNT_P(x)
-#define TARGET_SAHF TARGET_ISA_SAHF
-#define TARGET_SAHF_P(x) TARGET_ISA_SAHF_P(x)
-#define TARGET_MOVBE TARGET_ISA2_MOVBE
-#define TARGET_MOVBE_P(x) TARGET_ISA2_MOVBE_P(x)
-#define TARGET_CRC32 TARGET_ISA_CRC32
-#define TARGET_CRC32_P(x) TARGET_ISA_CRC32_P(x)
-#define TARGET_AES TARGET_ISA_AES
-#define TARGET_AES_P(x) TARGET_ISA_AES_P(x)
-#define TARGET_SHA TARGET_ISA_SHA
-#define TARGET_SHA_P(x) TARGET_ISA_SHA_P(x)
-#define TARGET_CLFLUSHOPT TARGET_ISA_CLFLUSHOPT
-#define TARGET_CLFLUSHOPT_P(x) TARGET_ISA_CLFLUSHOPT_P(x)
-#define TARGET_CLZERO TARGET_ISA2_CLZERO
-#define TARGET_CLZERO_P(x) TARGET_ISA2_CLZERO_P(x)
-#define TARGET_XSAVEC TARGET_ISA_XSAVEC
-#define TARGET_XSAVEC_P(x) TARGET_ISA_XSAVEC_P(x)
-#define TARGET_XSAVES TARGET_ISA_XSAVES
-#define TARGET_XSAVES_P(x) TARGET_ISA_XSAVES_P(x)
-#define TARGET_PCLMUL TARGET_ISA_PCLMUL
-#define TARGET_PCLMUL_P(x) TARGET_ISA_PCLMUL_P(x)
-#define TARGET_CMPXCHG16B TARGET_ISA2_CX16
-#define TARGET_CMPXCHG16B_P(x) TARGET_ISA2_CX16_P(x)
-#define TARGET_FSGSBASE TARGET_ISA_FSGSBASE
-#define TARGET_FSGSBASE_P(x) TARGET_ISA_FSGSBASE_P(x)
-#define TARGET_RDRND TARGET_ISA_RDRND
-#define TARGET_RDRND_P(x) TARGET_ISA_RDRND_P(x)
-#define TARGET_F16C TARGET_ISA_F16C
-#define TARGET_F16C_P(x) TARGET_ISA_F16C_P(x)
-#define TARGET_RTM TARGET_ISA_RTM
-#define TARGET_RTM_P(x) TARGET_ISA_RTM_P(x)
-#define TARGET_HLE TARGET_ISA2_HLE
-#define TARGET_HLE_P(x) TARGET_ISA2_HLE_P(x)
-#define TARGET_RDSEED TARGET_ISA_RDSEED
-#define TARGET_RDSEED_P(x) TARGET_ISA_RDSEED_P(x)
-#define TARGET_PRFCHW TARGET_ISA_PRFCHW
-#define TARGET_PRFCHW_P(x) TARGET_ISA_PRFCHW_P(x)
-#define TARGET_ADX TARGET_ISA_ADX
-#define TARGET_ADX_P(x) TARGET_ISA_ADX_P(x)
-#define TARGET_FXSR TARGET_ISA_FXSR
-#define TARGET_FXSR_P(x) TARGET_ISA_FXSR_P(x)
-#define TARGET_XSAVE TARGET_ISA_XSAVE
-#define TARGET_XSAVE_P(x) TARGET_ISA_XSAVE_P(x)
-#define TARGET_XSAVEOPT TARGET_ISA_XSAVEOPT
-#define TARGET_XSAVEOPT_P(x) TARGET_ISA_XSAVEOPT_P(x)
-#define TARGET_PREFETCHWT1 TARGET_ISA_PREFETCHWT1
-#define TARGET_PREFETCHWT1_P(x) TARGET_ISA_PREFETCHWT1_P(x)
-#define TARGET_CLWB TARGET_ISA_CLWB
-#define TARGET_CLWB_P(x) TARGET_ISA_CLWB_P(x)
-#define TARGET_MWAITX TARGET_ISA2_MWAITX
-#define TARGET_MWAITX_P(x) TARGET_ISA2_MWAITX_P(x)
-#define TARGET_PKU TARGET_ISA_PKU
-#define TARGET_PKU_P(x) TARGET_ISA_PKU_P(x)
-#define TARGET_SHSTK TARGET_ISA_SHSTK
-#define TARGET_SHSTK_P(x) TARGET_ISA_SHSTK_P(x)
-#define TARGET_MOVDIRI TARGET_ISA_MOVDIRI
-#define TARGET_MOVDIRI_P(x) TARGET_ISA_MOVDIRI_P(x)
-#define TARGET_MOVDIR64B TARGET_ISA2_MOVDIR64B
-#define TARGET_MOVDIR64B_P(x) TARGET_ISA2_MOVDIR64B_P(x)
-#define TARGET_WAITPKG TARGET_ISA2_WAITPKG
-#define TARGET_WAITPKG_P(x) TARGET_ISA2_WAITPKG_P(x)
-#define TARGET_CLDEMOTE TARGET_ISA2_CLDEMOTE
-#define TARGET_CLDEMOTE_P(x) TARGET_ISA2_CLDEMOTE_P(x)
-#define TARGET_PTWRITE TARGET_ISA2_PTWRITE
-#define TARGET_PTWRITE_P(x) TARGET_ISA2_PTWRITE_P(x)
-#define TARGET_AVX512BF16 TARGET_ISA2_AVX512BF16
-#define TARGET_AVX512BF16_P(x) TARGET_ISA2_AVX512BF16_P(x)
-#define TARGET_ENQCMD TARGET_ISA2_ENQCMD
-#define TARGET_ENQCMD_P(x) TARGET_ISA2_ENQCMD_P(x)
-#define TARGET_SERIALIZE TARGET_ISA2_SERIALIZE
-#define TARGET_SERIALIZE_P(x) TARGET_ISA2_SERIALIZE_P(x)
-#define TARGET_TSXLDTRK TARGET_ISA2_TSXLDTRK
-#define TARGET_TSXLDTRK_P(x) TARGET_ISA2_TSXLDTRK_P(x)
-#define TARGET_AMX_TILE TARGET_ISA2_AMX_TILE
-#define TARGET_AMX_TILE_P(x) TARGET_ISA2_AMX_TILE(x)
-#define TARGET_AMX_INT8 TARGET_ISA2_AMX_INT8
-#define TARGET_AMX_INT8_P(x) TARGET_ISA2_AMX_INT8(x)
-#define TARGET_AMX_BF16 TARGET_ISA2_AMX_BF16
-#define TARGET_AMX_BF16_P(x) TARGET_ISA2_AMX_BF16(x)
-#define TARGET_UINTR TARGET_ISA2_UINTR
-#define TARGET_UINTR_P(x) TARGET_ISA2_UINTR_P(x)
-#define TARGET_HRESET TARGET_ISA2_HRESET
-#define TARGET_HRESET_P(x) TARGET_ISA2_HRESET_P(x)
-#define TARGET_KL TARGET_ISA2_KL
-#define TARGET_KL_P(x) TARGET_ISA2_KL_P(x)
-#define TARGET_WIDEKL TARGET_ISA2_WIDEKL
-#define TARGET_WIDEKL_P(x) TARGET_ISA2_WIDEKL_P(x)
-#define TARGET_AVXVNNI TARGET_ISA2_AVXVNNI
-#define TARGET_AVXVNNI_P(x) TARGET_ISA2_AVXVNNI_P(x)
-
-#define TARGET_LP64 TARGET_ABI_64
+#define TARGET_CMPXCHG16B TARGET_CX16
+#define TARGET_CMPXCHG16B_P(x) TARGET_CX16_P(x)
+
+#define TARGET_LP64 TARGET_ABI_64
#define TARGET_LP64_P(x) TARGET_ABI_64_P(x)
-#define TARGET_X32 TARGET_ABI_X32
-#define TARGET_X32_P(x) TARGET_ABI_X32_P(x)
-#define TARGET_16BIT TARGET_CODE16
+#define TARGET_X32 TARGET_ABI_X32
+#define TARGET_X32_P(x) TARGET_ABI_X32_P(x)
+#define TARGET_16BIT TARGET_CODE16
#define TARGET_16BIT_P(x) TARGET_CODE16_P(x)
#define TARGET_MMX_WITH_SSE (TARGET_64BIT && TARGET_SSE2)
@@ -441,51 +263,7 @@ extern const struct processor_costs ix86_size_cost;
#define HAS_LONG_COND_BRANCH 1
#define HAS_LONG_UNCOND_BRANCH 1
-#define TARGET_386 (ix86_tune == PROCESSOR_I386)
-#define TARGET_486 (ix86_tune == PROCESSOR_I486)
-#define TARGET_PENTIUM (ix86_tune == PROCESSOR_PENTIUM)
-#define TARGET_PENTIUMPRO (ix86_tune == PROCESSOR_PENTIUMPRO)
-#define TARGET_GEODE (ix86_tune == PROCESSOR_GEODE)
-#define TARGET_K6 (ix86_tune == PROCESSOR_K6)
-#define TARGET_ATHLON (ix86_tune == PROCESSOR_ATHLON)
-#define TARGET_PENTIUM4 (ix86_tune == PROCESSOR_PENTIUM4)
-#define TARGET_K8 (ix86_tune == PROCESSOR_K8)
-#define TARGET_ATHLON_K8 (TARGET_K8 || TARGET_ATHLON)
-#define TARGET_NOCONA (ix86_tune == PROCESSOR_NOCONA)
-#define TARGET_CORE2 (ix86_tune == PROCESSOR_CORE2)
-#define TARGET_NEHALEM (ix86_tune == PROCESSOR_NEHALEM)
-#define TARGET_SANDYBRIDGE (ix86_tune == PROCESSOR_SANDYBRIDGE)
-#define TARGET_HASWELL (ix86_tune == PROCESSOR_HASWELL)
-#define TARGET_BONNELL (ix86_tune == PROCESSOR_BONNELL)
-#define TARGET_SILVERMONT (ix86_tune == PROCESSOR_SILVERMONT)
-#define TARGET_GOLDMONT (ix86_tune == PROCESSOR_GOLDMONT)
-#define TARGET_GOLDMONT_PLUS (ix86_tune == PROCESSOR_GOLDMONT_PLUS)
-#define TARGET_TREMONT (ix86_tune == PROCESSOR_TREMONT)
-#define TARGET_KNL (ix86_tune == PROCESSOR_KNL)
-#define TARGET_KNM (ix86_tune == PROCESSOR_KNM)
-#define TARGET_SKYLAKE (ix86_tune == PROCESSOR_SKYLAKE)
-#define TARGET_SKYLAKE_AVX512 (ix86_tune == PROCESSOR_SKYLAKE_AVX512)
-#define TARGET_CANNONLAKE (ix86_tune == PROCESSOR_CANNONLAKE)
-#define TARGET_ICELAKE_CLIENT (ix86_tune == PROCESSOR_ICELAKE_CLIENT)
-#define TARGET_ICELAKE_SERVER (ix86_tune == PROCESSOR_ICELAKE_SERVER)
-#define TARGET_CASCADELAKE (ix86_tune == PROCESSOR_CASCADELAKE)
-#define TARGET_TIGERLAKE (ix86_tune == PROCESSOR_TIGERLAKE)
-#define TARGET_COOPERLAKE (ix86_tune == PROCESSOR_COOPERLAKE)
-#define TARGET_SAPPHIRERAPIDS (ix86_tune == PROCESSOR_SAPPHIRERAPIDS)
-#define TARGET_ALDERLAKE (ix86_tune == PROCESSOR_ALDERLAKE)
-#define TARGET_ROCKETLAKE (ix86_tune == PROCESSOR_ROCKETLAKE)
-#define TARGET_INTEL (ix86_tune == PROCESSOR_INTEL)
-#define TARGET_GENERIC (ix86_tune == PROCESSOR_GENERIC)
-#define TARGET_AMDFAM10 (ix86_tune == PROCESSOR_AMDFAM10)
-#define TARGET_BDVER1 (ix86_tune == PROCESSOR_BDVER1)
-#define TARGET_BDVER2 (ix86_tune == PROCESSOR_BDVER2)
-#define TARGET_BDVER3 (ix86_tune == PROCESSOR_BDVER3)
-#define TARGET_BDVER4 (ix86_tune == PROCESSOR_BDVER4)
-#define TARGET_BTVER1 (ix86_tune == PROCESSOR_BTVER1)
-#define TARGET_BTVER2 (ix86_tune == PROCESSOR_BTVER2)
-#define TARGET_ZNVER1 (ix86_tune == PROCESSOR_ZNVER1)
-#define TARGET_ZNVER2 (ix86_tune == PROCESSOR_ZNVER2)
-#define TARGET_ZNVER3 (ix86_tune == PROCESSOR_ZNVER3)
+#define TARGET_CPU_P(CPU) (ix86_tune == PROCESSOR_ ## CPU)
/* Feature tests against the various tunings. */
enum ix86_tune_indices {
@@ -2413,97 +2191,24 @@ extern const char *const processor_names[];
#include "wide-int-bitmask.h"
-constexpr wide_int_bitmask PTA_3DNOW (HOST_WIDE_INT_1U << 0);
-constexpr wide_int_bitmask PTA_3DNOW_A (HOST_WIDE_INT_1U << 1);
-constexpr wide_int_bitmask PTA_64BIT (HOST_WIDE_INT_1U << 2);
-constexpr wide_int_bitmask PTA_ABM (HOST_WIDE_INT_1U << 3);
-constexpr wide_int_bitmask PTA_AES (HOST_WIDE_INT_1U << 4);
-constexpr wide_int_bitmask PTA_AVX (HOST_WIDE_INT_1U << 5);
-constexpr wide_int_bitmask PTA_BMI (HOST_WIDE_INT_1U << 6);
-constexpr wide_int_bitmask PTA_CX16 (HOST_WIDE_INT_1U << 7);
-constexpr wide_int_bitmask PTA_F16C (HOST_WIDE_INT_1U << 8);
-constexpr wide_int_bitmask PTA_FMA (HOST_WIDE_INT_1U << 9);
-constexpr wide_int_bitmask PTA_FMA4 (HOST_WIDE_INT_1U << 10);
-constexpr wide_int_bitmask PTA_FSGSBASE (HOST_WIDE_INT_1U << 11);
-constexpr wide_int_bitmask PTA_LWP (HOST_WIDE_INT_1U << 12);
-constexpr wide_int_bitmask PTA_LZCNT (HOST_WIDE_INT_1U << 13);
-constexpr wide_int_bitmask PTA_MMX (HOST_WIDE_INT_1U << 14);
-constexpr wide_int_bitmask PTA_MOVBE (HOST_WIDE_INT_1U << 15);
-constexpr wide_int_bitmask PTA_NO_SAHF (HOST_WIDE_INT_1U << 16);
-constexpr wide_int_bitmask PTA_PCLMUL (HOST_WIDE_INT_1U << 17);
-constexpr wide_int_bitmask PTA_POPCNT (HOST_WIDE_INT_1U << 18);
-constexpr wide_int_bitmask PTA_PREFETCH_SSE (HOST_WIDE_INT_1U << 19);
-constexpr wide_int_bitmask PTA_RDRND (HOST_WIDE_INT_1U << 20);
-constexpr wide_int_bitmask PTA_SSE (HOST_WIDE_INT_1U << 21);
-constexpr wide_int_bitmask PTA_SSE2 (HOST_WIDE_INT_1U << 22);
-constexpr wide_int_bitmask PTA_SSE3 (HOST_WIDE_INT_1U << 23);
-constexpr wide_int_bitmask PTA_SSE4_1 (HOST_WIDE_INT_1U << 24);
-constexpr wide_int_bitmask PTA_SSE4_2 (HOST_WIDE_INT_1U << 25);
-constexpr wide_int_bitmask PTA_SSE4A (HOST_WIDE_INT_1U << 26);
-constexpr wide_int_bitmask PTA_SSSE3 (HOST_WIDE_INT_1U << 27);
-constexpr wide_int_bitmask PTA_TBM (HOST_WIDE_INT_1U << 28);
-constexpr wide_int_bitmask PTA_XOP (HOST_WIDE_INT_1U << 29);
-constexpr wide_int_bitmask PTA_AVX2 (HOST_WIDE_INT_1U << 30);
-constexpr wide_int_bitmask PTA_BMI2 (HOST_WIDE_INT_1U << 31);
-constexpr wide_int_bitmask PTA_RTM (HOST_WIDE_INT_1U << 32);
-constexpr wide_int_bitmask PTA_HLE (HOST_WIDE_INT_1U << 33);
-constexpr wide_int_bitmask PTA_PRFCHW (HOST_WIDE_INT_1U << 34);
-constexpr wide_int_bitmask PTA_RDSEED (HOST_WIDE_INT_1U << 35);
-constexpr wide_int_bitmask PTA_ADX (HOST_WIDE_INT_1U << 36);
-constexpr wide_int_bitmask PTA_FXSR (HOST_WIDE_INT_1U << 37);
-constexpr wide_int_bitmask PTA_XSAVE (HOST_WIDE_INT_1U << 38);
-constexpr wide_int_bitmask PTA_XSAVEOPT (HOST_WIDE_INT_1U << 39);
-constexpr wide_int_bitmask PTA_AVX512F (HOST_WIDE_INT_1U << 40);
-constexpr wide_int_bitmask PTA_AVX512ER (HOST_WIDE_INT_1U << 41);
-constexpr wide_int_bitmask PTA_AVX512PF (HOST_WIDE_INT_1U << 42);
-constexpr wide_int_bitmask PTA_AVX512CD (HOST_WIDE_INT_1U << 43);
-constexpr wide_int_bitmask PTA_NO_TUNE (HOST_WIDE_INT_1U << 44);
-constexpr wide_int_bitmask PTA_SHA (HOST_WIDE_INT_1U << 45);
-constexpr wide_int_bitmask PTA_PREFETCHWT1 (HOST_WIDE_INT_1U << 46);
-constexpr wide_int_bitmask PTA_CLFLUSHOPT (HOST_WIDE_INT_1U << 47);
-constexpr wide_int_bitmask PTA_XSAVEC (HOST_WIDE_INT_1U << 48);
-constexpr wide_int_bitmask PTA_XSAVES (HOST_WIDE_INT_1U << 49);
-constexpr wide_int_bitmask PTA_AVX512DQ (HOST_WIDE_INT_1U << 50);
-constexpr wide_int_bitmask PTA_AVX512BW (HOST_WIDE_INT_1U << 51);
-constexpr wide_int_bitmask PTA_AVX512VL (HOST_WIDE_INT_1U << 52);
-constexpr wide_int_bitmask PTA_AVX512IFMA (HOST_WIDE_INT_1U << 53);
-constexpr wide_int_bitmask PTA_AVX512VBMI (HOST_WIDE_INT_1U << 54);
-constexpr wide_int_bitmask PTA_CLWB (HOST_WIDE_INT_1U << 55);
-constexpr wide_int_bitmask PTA_MWAITX (HOST_WIDE_INT_1U << 56);
-constexpr wide_int_bitmask PTA_CLZERO (HOST_WIDE_INT_1U << 57);
-constexpr wide_int_bitmask PTA_NO_80387 (HOST_WIDE_INT_1U << 58);
-constexpr wide_int_bitmask PTA_PKU (HOST_WIDE_INT_1U << 59);
-constexpr wide_int_bitmask PTA_AVX5124VNNIW (HOST_WIDE_INT_1U << 60);
-constexpr wide_int_bitmask PTA_AVX5124FMAPS (HOST_WIDE_INT_1U << 61);
-constexpr wide_int_bitmask PTA_AVX512VPOPCNTDQ (HOST_WIDE_INT_1U << 62);
-constexpr wide_int_bitmask PTA_SGX (HOST_WIDE_INT_1U << 63);
-constexpr wide_int_bitmask PTA_AVX512VNNI (0, HOST_WIDE_INT_1U);
-constexpr wide_int_bitmask PTA_GFNI (0, HOST_WIDE_INT_1U << 1);
-constexpr wide_int_bitmask PTA_VAES (0, HOST_WIDE_INT_1U << 2);
-constexpr wide_int_bitmask PTA_AVX512VBMI2 (0, HOST_WIDE_INT_1U << 3);
-constexpr wide_int_bitmask PTA_VPCLMULQDQ (0, HOST_WIDE_INT_1U << 4);
-constexpr wide_int_bitmask PTA_AVX512BITALG (0, HOST_WIDE_INT_1U << 5);
-constexpr wide_int_bitmask PTA_RDPID (0, HOST_WIDE_INT_1U << 6);
-constexpr wide_int_bitmask PTA_PCONFIG (0, HOST_WIDE_INT_1U << 7);
-constexpr wide_int_bitmask PTA_WBNOINVD (0, HOST_WIDE_INT_1U << 8);
-constexpr wide_int_bitmask PTA_AVX512VP2INTERSECT (0, HOST_WIDE_INT_1U << 9);
-constexpr wide_int_bitmask PTA_PTWRITE (0, HOST_WIDE_INT_1U << 10);
-constexpr wide_int_bitmask PTA_AVX512BF16 (0, HOST_WIDE_INT_1U << 11);
-constexpr wide_int_bitmask PTA_WAITPKG (0, HOST_WIDE_INT_1U << 12);
-constexpr wide_int_bitmask PTA_MOVDIRI (0, HOST_WIDE_INT_1U << 13);
-constexpr wide_int_bitmask PTA_MOVDIR64B (0, HOST_WIDE_INT_1U << 14);
-constexpr wide_int_bitmask PTA_ENQCMD (0, HOST_WIDE_INT_1U << 15);
-constexpr wide_int_bitmask PTA_CLDEMOTE (0, HOST_WIDE_INT_1U << 16);
-constexpr wide_int_bitmask PTA_SERIALIZE (0, HOST_WIDE_INT_1U << 17);
-constexpr wide_int_bitmask PTA_TSXLDTRK (0, HOST_WIDE_INT_1U << 18);
-constexpr wide_int_bitmask PTA_AMX_TILE (0, HOST_WIDE_INT_1U << 19);
-constexpr wide_int_bitmask PTA_AMX_INT8 (0, HOST_WIDE_INT_1U << 20);
-constexpr wide_int_bitmask PTA_AMX_BF16 (0, HOST_WIDE_INT_1U << 21);
-constexpr wide_int_bitmask PTA_UINTR (0, HOST_WIDE_INT_1U << 22);
-constexpr wide_int_bitmask PTA_HRESET (0, HOST_WIDE_INT_1U << 23);
-constexpr wide_int_bitmask PTA_KL (0, HOST_WIDE_INT_1U << 24);
-constexpr wide_int_bitmask PTA_WIDEKL (0, HOST_WIDE_INT_1U << 25);
-constexpr wide_int_bitmask PTA_AVXVNNI (0, HOST_WIDE_INT_1U << 26);
+enum pta_flag
+{
+#define DEF_PTA(NAME) _ ## NAME,
+#include "i386-isa.def"
+#undef DEF_PTA
+ END_PTA
+};
+
+/* wide_int_bitmask can handle only 128 flags. */
+STATIC_ASSERT (END_PTA <= 128);
+
+#define WIDE_INT_BITMASK_FROM_NTH(N) (N < 64 ? wide_int_bitmask (0, 1ULL << N) \
+ : wide_int_bitmask (1ULL << (N - 64), 0))
+
+#define DEF_PTA(NAME) constexpr wide_int_bitmask PTA_ ## NAME \
+ = WIDE_INT_BITMASK_FROM_NTH ((pta_flag) _ ## NAME);
+#include "i386-isa.def"
+#undef DEF_PTA
constexpr wide_int_bitmask PTA_X86_64_BASELINE = PTA_64BIT | PTA_MMX | PTA_SSE
| PTA_SSE2 | PTA_NO_SAHF | PTA_FXSR;
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 9ff35d9..7eb7176 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -14302,13 +14302,13 @@
return "tzcnt{<imodesuffix>}\t{%1, %0|%0, %1}";
else if (optimize_function_for_size_p (cfun))
;
- else if (TARGET_GENERIC)
+ else if (TARGET_CPU_P (GENERIC))
/* tzcnt expands to 'rep bsf' and we can use it even if !TARGET_BMI. */
return "rep%; bsf{<imodesuffix>}\t{%1, %0|%0, %1}";
return "bsf{<imodesuffix>}\t{%1, %0|%0, %1}";
}
- "(TARGET_BMI || TARGET_GENERIC)
+ "(TARGET_BMI || TARGET_CPU_P (GENERIC))
&& TARGET_AVOID_FALSE_DEP_FOR_BMI && epilogue_completed
&& optimize_function_for_speed_p (cfun)
&& !reg_mentioned_p (operands[0], operands[1])"
@@ -14324,7 +14324,7 @@
(if_then_else
(ior (match_test "TARGET_BMI")
(and (not (match_test "optimize_function_for_size_p (cfun)"))
- (match_test "TARGET_GENERIC")))
+ (match_test "TARGET_CPU_P (GENERIC)")))
(const_string "1")
(const_string "0")))
(set_attr "mode" "<MODE>")])
@@ -14343,7 +14343,7 @@
{
if (TARGET_BMI)
return "tzcnt{<imodesuffix>}\t{%1, %0|%0, %1}";
- else if (TARGET_GENERIC)
+ else if (TARGET_CPU_P (GENERIC))
/* tzcnt expands to 'rep bsf' and we can use it even if !TARGET_BMI. */
return "rep%; bsf{<imodesuffix>}\t{%1, %0|%0, %1}";
else
@@ -20998,7 +20998,7 @@
[(match_operand:SI 1 "register_operand" "0")
(match_operand:SWI124 2 "nonimmediate_operand" "<r>m")]
UNSPEC_CRC32))]
- "TARGET_SSE4_2 || TARGET_CRC32"
+ "TARGET_CRC32"
"crc32{<imodesuffix>}\t{%2, %0|%0, %2}"
[(set_attr "type" "sselog1")
(set_attr "prefix_rep" "1")
@@ -21019,7 +21019,7 @@
[(match_operand:DI 1 "register_operand" "0")
(match_operand:DI 2 "nonimmediate_operand" "rm")]
UNSPEC_CRC32))]
- "TARGET_64BIT && (TARGET_SSE4_2 || TARGET_CRC32)"
+ "TARGET_64BIT && TARGET_CRC32"
"crc32{q}\t{%2, %0|%0, %2}"
[(set_attr "type" "sselog1")
(set_attr "prefix_rep" "1")
diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt
index c781fdc..7b8547b 100644
--- a/gcc/config/i386/i386.opt
+++ b/gcc/config/i386/i386.opt
@@ -1162,3 +1162,7 @@ AVXVNNI built-in functions and code generation.
mneeded
Target Var(ix86_needed) Save
Emit GNU_PROPERTY_X86_ISA_1_NEEDED GNU property.
+
+mmwait
+Target Mask(ISA2_MWAIT) Var(ix86_isa_flags2) Save
+Support MWAIT and MONITOR built-in functions and code generation.
diff --git a/gcc/config/i386/ia32intrin.h b/gcc/config/i386/ia32intrin.h
index 5913940..5422b0f 100644
--- a/gcc/config/i386/ia32intrin.h
+++ b/gcc/config/i386/ia32intrin.h
@@ -51,11 +51,11 @@ __bswapd (int __X)
#ifndef __iamcu__
-#ifndef __SSE4_2__
+#ifndef __CRC32__
#pragma GCC push_options
-#pragma GCC target("sse4.2")
-#define __DISABLE_SSE4_2__
-#endif /* __SSE4_2__ */
+#pragma GCC target("crc32")
+#define __DISABLE_CRC32__
+#endif /* __CRC32__ */
/* 32bit accumulate CRC32 (polynomial 0x11EDC6F41) value. */
extern __inline unsigned int
@@ -79,10 +79,10 @@ __crc32d (unsigned int __C, unsigned int __V)
return __builtin_ia32_crc32si (__C, __V);
}
-#ifdef __DISABLE_SSE4_2__
-#undef __DISABLE_SSE4_2__
+#ifdef __DISABLE_CRC32__
+#undef __DISABLE_CRC32__
#pragma GCC pop_options
-#endif /* __DISABLE_SSE4_2__ */
+#endif /* __DISABLE_CRC32__ */
#endif /* __iamcu__ */
@@ -199,11 +199,11 @@ __bswapq (long long __X)
return __builtin_bswap64 (__X);
}
-#ifndef __SSE4_2__
+#ifndef __CRC32__
#pragma GCC push_options
-#pragma GCC target("sse4.2")
-#define __DISABLE_SSE4_2__
-#endif /* __SSE4_2__ */
+#pragma GCC target("crc32")
+#define __DISABLE_CRC32__
+#endif /* __CRC32__ */
/* 64bit accumulate CRC32 (polynomial 0x11EDC6F41) value. */
extern __inline unsigned long long
@@ -213,10 +213,10 @@ __crc32q (unsigned long long __C, unsigned long long __V)
return __builtin_ia32_crc32di (__C, __V);
}
-#ifdef __DISABLE_SSE4_2__
-#undef __DISABLE_SSE4_2__
+#ifdef __DISABLE_CRC32__
+#undef __DISABLE_CRC32__
#pragma GCC pop_options
-#endif /* __DISABLE_SSE4_2__ */
+#endif /* __DISABLE_CRC32__ */
/* 64bit popcnt */
extern __inline long long
diff --git a/gcc/config/i386/mwaitintrin.h b/gcc/config/i386/mwaitintrin.h
new file mode 100644
index 0000000..1ecbc4a
--- /dev/null
+++ b/gcc/config/i386/mwaitintrin.h
@@ -0,0 +1,52 @@
+/* Copyright (C) 2021 Free Software Foundation, Inc.
+
+ This file is part of GCC.
+
+ GCC is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ GCC is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ Under Section 7 of GPL version 3, you are granted additional
+ permissions described in the GCC Runtime Library Exception, version
+ 3.1, as published by the Free Software Foundation.
+
+ You should have received a copy of the GNU General Public License and
+ a copy of the GCC Runtime Library Exception along with this program;
+ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _MWAITINTRIN_H_INCLUDED
+#define _MWAITINTRIN_H_INCLUDED
+
+#ifndef __MWAIT__
+#pragma GCC push_options
+#pragma GCC target("mwait")
+#define __DISABLE_MWAIT__
+#endif /* __MWAIT__ */
+
+extern __inline void
+__attribute__((__gnu_inline__, __always_inline__, __artificial__))
+_mm_monitor (void const * __P, unsigned int __E, unsigned int __H)
+{
+ __builtin_ia32_monitor (__P, __E, __H);
+}
+
+extern __inline void
+__attribute__((__gnu_inline__, __always_inline__, __artificial__))
+_mm_mwait (unsigned int __E, unsigned int __H)
+{
+ __builtin_ia32_mwait (__E, __H);
+}
+
+#ifdef __DISABLE_MWAIT__
+#undef __DISABLE_MWAIT__
+#pragma GCC pop_options
+#endif /* __DISABLE_MWAIT__ */
+
+#endif /* _MWAITINTRIN_H_INCLUDED */
diff --git a/gcc/config/i386/pmmintrin.h b/gcc/config/i386/pmmintrin.h
index fa9c5bb..f8102d2 100644
--- a/gcc/config/i386/pmmintrin.h
+++ b/gcc/config/i386/pmmintrin.h
@@ -29,6 +29,7 @@
/* We need definitions from the SSE2 and SSE header files*/
#include <emmintrin.h>
+#include <mwaitintrin.h>
#ifndef __SSE3__
#pragma GCC push_options
@@ -112,18 +113,6 @@ _mm_lddqu_si128 (__m128i const *__P)
return (__m128i) __builtin_ia32_lddqu ((char const *)__P);
}
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_monitor (void const * __P, unsigned int __E, unsigned int __H)
-{
- __builtin_ia32_monitor (__P, __E, __H);
-}
-
-extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_mwait (unsigned int __E, unsigned int __H)
-{
- __builtin_ia32_mwait (__E, __H);
-}
-
#ifdef __DISABLE_SSE3__
#undef __DISABLE_SSE3__
#pragma GCC pop_options
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 9d3728d..319099d 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -16593,7 +16593,7 @@
[(unspec_volatile [(match_operand:SI 0 "register_operand" "c")
(match_operand:SI 1 "register_operand" "a")]
UNSPECV_MWAIT)]
- "TARGET_SSE3"
+ "TARGET_MWAIT"
;; 64bit version is "mwait %rax,%rcx". But only lower 32bits are used.
;; Since 32bit register operands are implicitly zero extended to 64bit,
;; we only need to set up 32bit registers.
@@ -16605,7 +16605,7 @@
(match_operand:SI 1 "register_operand" "c")
(match_operand:SI 2 "register_operand" "d")]
UNSPECV_MONITOR)]
- "TARGET_SSE3"
+ "TARGET_MWAIT"
;; 64bit version is "monitor %rax,%rcx,%rdx". But only lower 32bits in
;; RCX and RDX are used. Since 32bit register operands are implicitly
;; zero extended to 64bit, we only need to set up 32bit registers.
diff --git a/gcc/config/i386/stringop.def b/gcc/config/i386/stringop.def
index 76898d2..cd34b7e 100644
--- a/gcc/config/i386/stringop.def
+++ b/gcc/config/i386/stringop.def
@@ -17,21 +17,12 @@ You should have received a copy of the GNU General Public License
along with GCC; see the files COPYING3. If not,
see <http://www.gnu.org/licenses/>. */
-DEF_ENUM
DEF_ALG (no_stringop, no_stringop)
-DEF_ENUM
DEF_ALG (libcall, libcall)
-DEF_ENUM
DEF_ALG (rep_prefix_1_byte, rep_byte)
-DEF_ENUM
DEF_ALG (rep_prefix_4_byte, rep_4byte)
-DEF_ENUM
DEF_ALG (rep_prefix_8_byte, rep_8byte)
-DEF_ENUM
DEF_ALG (loop_1_byte, byte_loop)
-DEF_ENUM
DEF_ALG (loop, loop)
-DEF_ENUM
DEF_ALG (unrolled_loop, unrolled_loop)
-DEF_ENUM
DEF_ALG (vector_loop, vector_loop)
diff --git a/gcc/config/i386/x86-tune-sched-atom.c b/gcc/config/i386/x86-tune-sched-atom.c
index cfb0c65..1611436 100644
--- a/gcc/config/i386/x86-tune-sched-atom.c
+++ b/gcc/config/i386/x86-tune-sched-atom.c
@@ -51,7 +51,7 @@ do_reorder_for_imul (rtx_insn **ready, int n_ready)
int index = -1;
int i;
- if (!TARGET_BONNELL)
+ if (!TARGET_CPU_P (BONNELL))
return index;
/* Check that IMUL instruction is on the top of ready list. */
@@ -131,7 +131,7 @@ swap_top_of_ready_list (rtx_insn **ready, int n_ready)
int clock2 = -1;
#define INSN_TICK(INSN) (HID (INSN)->tick)
- if (!TARGET_SILVERMONT && !TARGET_INTEL)
+ if (!TARGET_CPU_P (SILVERMONT) && !TARGET_CPU_P (INTEL))
return false;
if (!NONDEBUG_INSN_P (top))
@@ -204,7 +204,8 @@ ix86_atom_sched_reorder (FILE *dump, int sched_verbose, rtx_insn **ready,
issue_rate = ix86_issue_rate ();
/* Do reodering for BONNELL/SILVERMONT only. */
- if (!TARGET_BONNELL && !TARGET_SILVERMONT && !TARGET_INTEL)
+ if (!TARGET_CPU_P (BONNELL) && !TARGET_CPU_P (SILVERMONT)
+ && !TARGET_CPU_P (INTEL))
return issue_rate;
/* Nothing to do if ready list contains only 1 instruction. */
diff --git a/gcc/config/i386/x86-tune-sched-bd.c b/gcc/config/i386/x86-tune-sched-bd.c
index d696643..ad0edf7 100644
--- a/gcc/config/i386/x86-tune-sched-bd.c
+++ b/gcc/config/i386/x86-tune-sched-bd.c
@@ -800,8 +800,9 @@ bool
ix86_bd_has_dispatch (rtx_insn *insn, int action)
{
/* Current implementation of dispatch scheduler models buldozer only. */
- if ((TARGET_BDVER1 || TARGET_BDVER2 || TARGET_BDVER3
- || TARGET_BDVER4) && flag_dispatch_scheduler)
+ if ((TARGET_CPU_P (BDVER1) || TARGET_CPU_P (BDVER2)
+ || TARGET_CPU_P (BDVER3) || TARGET_CPU_P (BDVER4))
+ && flag_dispatch_scheduler)
switch (action)
{
default:
diff --git a/gcc/config/i386/x86-tune-sched.c b/gcc/config/i386/x86-tune-sched.c
index 2bcc64b..6d8bca9 100644
--- a/gcc/config/i386/x86-tune-sched.c
+++ b/gcc/config/i386/x86-tune-sched.c
@@ -386,7 +386,7 @@ ix86_adjust_cost (rtx_insn *insn, int dep_type, rtx_insn *dep_insn, int cost,
if (unit == UNIT_INTEGER || unit == UNIT_UNKNOWN)
loadcost = 3;
else
- loadcost = TARGET_ATHLON ? 2 : 0;
+ loadcost = TARGET_CPU_P (ATHLON) ? 2 : 0;
if (cost >= loadcost)
cost -= loadcost;
diff --git a/gcc/config/i386/x86gprintrin.h b/gcc/config/i386/x86gprintrin.h
index ceda501..7793032 100644
--- a/gcc/config/i386/x86gprintrin.h
+++ b/gcc/config/i386/x86gprintrin.h
@@ -56,6 +56,8 @@
#include <movdirintrin.h>
+#include <mwaitintrin.h>
+
#include <mwaitxintrin.h>
#include <pconfigintrin.h>
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 48b8efd..844fee8 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -5765,7 +5765,7 @@ rs6000_machine_from_flags (void)
HOST_WIDE_INT flags = rs6000_isa_flags;
/* Disable the flags that should never influence the .machine selection. */
- flags &= ~(OPTION_MASK_PPC_GFXOPT | OPTION_MASK_PPC_GPOPT);
+ flags &= ~(OPTION_MASK_PPC_GFXOPT | OPTION_MASK_PPC_GPOPT | OPTION_MASK_ISEL);
if ((flags & (ISA_3_1_MASKS_SERVER & ~ISA_3_0_MASKS_SERVER)) != 0)
return "power10";
diff --git a/gcc/configure b/gcc/configure
index e8ecb3b..33eae54 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -24132,9 +24132,19 @@ fi
rm -f conftest.err conftest.i conftest.$ac_ext;;
esac
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking cross compile... guessing" >&5
+ case "${target}" in
+ aarch64*-linux-gnu*)
+ # AArch64 postdates glibc support for .init_array/.fini_array,
+ # so we don't need the preprocessor test above.
+ gcc_cv_initfini_array=yes
+ ;;
+
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking cross compile... guessing" >&5
$as_echo_n "checking cross compile... guessing... " >&6; }
- gcc_cv_initfini_array=no
+ gcc_cv_initfini_array=no
+ ;;
+ esac
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_initfini_array" >&5
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 335018c..89cb361 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,29 @@
+2021-04-21 Marek Polacek <polacek@redhat.com>
+
+ PR c++/96380
+ * parser.c (cp_parser_enum_specifier): Don't allow defining
+ types in enum-base.
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ Revert:
+ 2021-04-21 Martin Liska <mliska@suse.cz>
+
+ * error.c (dump_decl): Use flags in dump_generic_node call.
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ * error.c (dump_decl): Use flags in dump_generic_node call.
+
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ * error.c (dump_decl): Support anonymous labels.
+
+2021-04-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/100109
+ * pt.c (find_parameter_packs_r): Look into enum initializers.
+
2021-04-19 Marek Polacek <polacek@redhat.com>
PR c++/97536
diff --git a/gcc/cp/error.c b/gcc/cp/error.c
index ff4ae6f..c88d174 100644
--- a/gcc/cp/error.c
+++ b/gcc/cp/error.c
@@ -1362,7 +1362,10 @@ dump_decl (cxx_pretty_printer *pp, tree t, int flags)
break;
case LABEL_DECL:
- pp_cxx_tree_identifier (pp, DECL_NAME (t));
+ if (DECL_NAME (t))
+ pp_cxx_tree_identifier (pp, DECL_NAME (t));
+ else
+ dump_generic_node (pp, t, 0, TDF_SLIM, false);
break;
case CONST_DECL:
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 99eccf0..fba516e 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -19942,6 +19942,10 @@ cp_parser_enum_specifier (cp_parser* parser)
/* Consume the `:'. */
cp_lexer_consume_token (parser->lexer);
+ auto tdf
+ = make_temp_override (parser->type_definition_forbidden_message,
+ G_("types may not be defined in enum-base"));
+
/* Parse the type-specifier-seq. */
cp_parser_type_specifier_seq (parser, CP_PARSER_FLAGS_NONE,
/*is_declaration=*/false,
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 19fdafa..7bcbe6d 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -4066,12 +4066,18 @@ find_parameter_packs_r (tree *tp, int *walk_subtrees, void* data)
return NULL_TREE;
case TAG_DEFN:
- /* Local class, need to look through the whole definition. */
t = TREE_TYPE (t);
if (CLASS_TYPE_P (t))
+ /* Local class, need to look through the whole definition. */
for (tree bb : BINFO_BASE_BINFOS (TYPE_BINFO (t)))
cp_walk_tree (&BINFO_TYPE (bb), &find_parameter_packs_r,
ppd, ppd->visited);
+ else
+ /* Enum, look at the values. */
+ for (tree l = TYPE_VALUES (t); l; l = TREE_CHAIN (l))
+ cp_walk_tree (&DECL_INITIAL (TREE_VALUE (l)),
+ &find_parameter_packs_r,
+ ppd, ppd->visited);
return NULL_TREE;
case FUNCTION_TYPE:
diff --git a/gcc/cprop.c b/gcc/cprop.c
index 73034ce..6f34f6b 100644
--- a/gcc/cprop.c
+++ b/gcc/cprop.c
@@ -1007,16 +1007,18 @@ static int
constprop_register (rtx from, rtx src, rtx_insn *insn)
{
rtx sset;
+ rtx_insn *next_insn;
/* Check for reg or cc0 setting instructions followed by
conditional branch instructions first. */
if ((sset = single_set (insn)) != NULL
- && NEXT_INSN (insn)
- && any_condjump_p (NEXT_INSN (insn)) && onlyjump_p (NEXT_INSN (insn)))
+ && (next_insn = next_nondebug_insn (insn)) != NULL
+ && any_condjump_p (next_insn)
+ && onlyjump_p (next_insn))
{
rtx dest = SET_DEST (sset);
if ((REG_P (dest) || CC0_P (dest))
- && cprop_jump (BLOCK_FOR_INSN (insn), insn, NEXT_INSN (insn),
+ && cprop_jump (BLOCK_FOR_INSN (insn), insn, next_insn,
from, src))
return 1;
}
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 3260f06..c8caf36 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -6665,6 +6665,11 @@ Enable/disable the generation of the MOVDIR64B instructions.
@cindex @code{target("movdiri")} function attribute, x86
Enable/disable the generation of the MOVDIRI instructions.
+@item mwait
+@itemx no-mwait
+@cindex @code{target("mwait")} function attribute, x86
+Enable/disable the generation of the MWAIT and MONITOR instructions.
+
@item mwaitx
@itemx no-mwaitx
@cindex @code{target("mwaitx")} function attribute, x86
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 810cb86..71faa9b 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -1370,7 +1370,7 @@ See RS/6000 and PowerPC Options.
-mno-wide-multiply -mrtd -malign-double @gol
-mpreferred-stack-boundary=@var{num} @gol
-mincoming-stack-boundary=@var{num} @gol
--mcld -mcx16 -msahf -mmovbe -mcrc32 @gol
+-mcld -mcx16 -msahf -mmovbe -mcrc32 -mmwait @gol
-mrecip -mrecip=@var{opt} @gol
-mvzeroupper -mprefer-avx128 -mprefer-vector-width=@var{opt} @gol
-mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -msse4 -mavx @gol
@@ -14364,6 +14364,10 @@ The parameter is used only in GIMPLE FE.
The maximum number of 'after supernode' exploded nodes within the analyzer
per supernode, before terminating analysis.
+@item ranger-logical-depth
+Maximum depth of logical expression evaluation ranger will look through
+when evaluating outgoing edge ranges.
+
@item openacc-kernels
Specify mode of OpenACC `kernels' constructs handling.
With @option{--param=openacc-kernels=decompose}, OpenACC `kernels'
@@ -31139,6 +31143,12 @@ This option enables built-in functions @code{__builtin_ia32_crc32qi},
@code{__builtin_ia32_crc32hi}, @code{__builtin_ia32_crc32si} and
@code{__builtin_ia32_crc32di} to generate the @code{crc32} machine instruction.
+@item -mmwait
+@opindex mmwait
+This option enables built-in functions @code{__builtin_ia32_monitor},
+and @code{__builtin_ia32_mwait} to generate the @code{monitor} and
+@code{mwait} machine instructions.
+
@item -mrecip
@opindex mrecip
This option enables use of @code{RCPSS} and @code{RSQRTSS} instructions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 7a15deb..aba1684 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -3929,8 +3929,10 @@ static void prune_unused_types (void);
static int maybe_emit_file (struct dwarf_file_data *fd);
static inline const char *AT_vms_delta1 (dw_attr_node *);
static inline const char *AT_vms_delta2 (dw_attr_node *);
+#if VMS_DEBUGGING_INFO
static inline void add_AT_vms_delta (dw_die_ref, enum dwarf_attribute,
const char *, const char *);
+#endif
static void append_entry_to_tmpl_value_parm_die_table (dw_die_ref, tree);
static void gen_remaining_tmpl_value_param_die_attribute (void);
static bool generic_type_p (tree);
@@ -5200,6 +5202,7 @@ AT_file (dw_attr_node *a)
return a->dw_attr_val.v.val_file;
}
+#if VMS_DEBUGGING_INFO
/* Add a vms delta attribute value to a DIE. */
static inline void
@@ -5215,6 +5218,7 @@ add_AT_vms_delta (dw_die_ref die, enum dwarf_attribute attr_kind,
attr.dw_attr_val.v.val_vms_delta.lbl2 = xstrdup (lbl2);
add_dwarf_attr (die, &attr);
}
+#endif
/* Add a symbolic view identifier attribute value to a DIE. */
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index 2834278..5a41524 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -2619,15 +2619,6 @@ non_lvalue_loc (location_t loc, tree x)
return x;
return build1_loc (loc, NON_LVALUE_EXPR, TREE_TYPE (x), x);
}
-
-/* When pedantic, return an expr equal to X but certainly not valid as a
- pedantic lvalue. Otherwise, return X. */
-
-static tree
-pedantic_non_lvalue_loc (location_t loc, tree x)
-{
- return protected_set_expr_location_unshare (x, loc);
-}
/* Given a tree comparison code, return the code that is the logical inverse.
It is generally not safe to do this for floating-point comparisons, except
@@ -12532,9 +12523,9 @@ fold_binary_loc (location_t loc, enum tree_code code, tree type,
if (TREE_SIDE_EFFECTS (arg0) || TREE_CONSTANT (arg1))
return NULL_TREE;
/* Don't let (0, 0) be null pointer constant. */
- tem = integer_zerop (arg1) ? build1 (NOP_EXPR, type, arg1)
+ tem = integer_zerop (arg1) ? build1_loc (loc, NOP_EXPR, type, arg1)
: fold_convert_loc (loc, type, arg1);
- return pedantic_non_lvalue_loc (loc, tem);
+ return tem;
case ASSERT_EXPR:
/* An ASSERT_EXPR should never be passed to fold_binary. */
@@ -12781,7 +12772,7 @@ fold_ternary_loc (location_t loc, enum tree_code code, tree type,
|| !contains_label_p (unused_op))
&& (! VOID_TYPE_P (TREE_TYPE (tem))
|| VOID_TYPE_P (type)))
- return pedantic_non_lvalue_loc (loc, tem);
+ return protected_set_expr_location_unshare (tem, loc);
return NULL_TREE;
}
else if (TREE_CODE (arg0) == VECTOR_CST)
@@ -12864,7 +12855,7 @@ fold_ternary_loc (location_t loc, enum tree_code code, tree type,
a COND, which will recurse. In that case, the COND_EXPR
is probably the best choice, so leave it alone. */
&& type == TREE_TYPE (arg0))
- return pedantic_non_lvalue_loc (loc, arg0);
+ return protected_set_expr_location_unshare (arg0, loc);
/* Convert A ? 0 : 1 to !A. This prefers the use of NOT_EXPR
over COND_EXPR in cases such as floating point comparisons. */
@@ -12873,10 +12864,8 @@ fold_ternary_loc (location_t loc, enum tree_code code, tree type,
&& integer_onep (op2)
&& !VECTOR_TYPE_P (type)
&& truth_value_p (TREE_CODE (arg0)))
- return pedantic_non_lvalue_loc (loc,
- fold_convert_loc (loc, type,
- invert_truthvalue_loc (loc,
- arg0)));
+ return fold_convert_loc (loc, type,
+ invert_truthvalue_loc (loc, arg0));
/* A < 0 ? <sign bit of A> : 0 is simply (A & <sign bit of A>). */
if (TREE_CODE (arg0) == LT_EXPR
@@ -12982,10 +12971,7 @@ fold_ternary_loc (location_t loc, enum tree_code code, tree type,
second operand 32-bit -128, which is not a power of two (or vice
versa. */
&& integer_pow2p (TREE_OPERAND (TREE_OPERAND (arg0, 0), 1)))
- return pedantic_non_lvalue_loc (loc,
- fold_convert_loc (loc, type,
- TREE_OPERAND (arg0,
- 0)));
+ return fold_convert_loc (loc, type, TREE_OPERAND (arg0, 0));
/* Disable the transformations below for vectors, since
fold_binary_op_with_conditional_arg may undo them immediately,
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 2e61504..de0de2e 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,34 @@
+2021-04-21 Tobias Burnus <tobias@codesourcery.com>
+
+ * dump-parse-tree.c (show_omp_namelist): Handle depobj + mutexinoutset
+ in the depend clause.
+ (show_omp_clauses, show_omp_node, show_code_node): Handle depobj.
+ * gfortran.h (enum gfc_statement): Add ST_OMP_DEPOBJ.
+ (enum gfc_omp_depend_op): Add OMP_DEPEND_UNSET,
+ OMP_DEPEND_MUTEXINOUTSET and OMP_DEPEND_DEPOBJ.
+ (gfc_omp_clauses): Add destroy, depobj_update and depobj.
+ (enum gfc_exec_op): Add EXEC_OMP_DEPOBJ
+ * match.h (gfc_match_omp_depobj): Match 'omp depobj'.
+ * openmp.c (gfc_match_omp_clauses): Add depobj + mutexinoutset
+ to depend clause.
+ (gfc_match_omp_depobj, resolve_omp_clauses, gfc_resolve_omp_directive):
+ Handle 'omp depobj'.
+ * parse.c (decode_omp_directive, next_statement, gfc_ascii_statement):
+ Likewise.
+ * resolve.c (gfc_resolve_code): Likewise.
+ * st.c (gfc_free_statement): Likewise.
+ * trans-openmp.c (gfc_trans_omp_clauses): Handle depobj + mutexinoutset
+ in the depend clause.
+ (gfc_trans_omp_depobj, gfc_trans_omp_directive): Handle EXEC_OMP_DEPOBJ.
+ * trans.c (trans_code): Likewise.
+
+2021-04-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/100110
+ * trans-decl.c (gfc_get_symbol_decl): Replace test for host
+ association with a check that the current and symbol namespaces
+ are the same.
+
2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
* lang.opt (fopenacc-kernels=): Remove.
diff --git a/gcc/fortran/dump-parse-tree.c b/gcc/fortran/dump-parse-tree.c
index 059d842..b50265a 100644
--- a/gcc/fortran/dump-parse-tree.c
+++ b/gcc/fortran/dump-parse-tree.c
@@ -1332,6 +1332,10 @@ show_omp_namelist (int list_type, gfc_omp_namelist *n)
case OMP_DEPEND_IN: fputs ("in:", dumpfile); break;
case OMP_DEPEND_OUT: fputs ("out:", dumpfile); break;
case OMP_DEPEND_INOUT: fputs ("inout:", dumpfile); break;
+ case OMP_DEPEND_DEPOBJ: fputs ("depobj:", dumpfile); break;
+ case OMP_DEPEND_MUTEXINOUTSET:
+ fputs ("mutexinoutset:", dumpfile);
+ break;
case OMP_DEPEND_SINK_FIRST:
fputs ("sink:", dumpfile);
while (1)
@@ -1754,10 +1758,27 @@ show_omp_clauses (gfc_omp_clauses *omp_clauses)
show_expr (omp_clauses->if_exprs[i]);
fputc (')', dumpfile);
}
+ if (omp_clauses->destroy)
+ fputs (" DESTROY", dumpfile);
if (omp_clauses->depend_source)
fputs (" DEPEND(source)", dumpfile);
if (omp_clauses->capture)
fputs (" CAPTURE", dumpfile);
+ if (omp_clauses->depobj_update != OMP_DEPEND_UNSET)
+ {
+ const char *deptype;
+ fputs (" UPDATE(", dumpfile);
+ switch (omp_clauses->depobj_update)
+ {
+ case OMP_DEPEND_IN: deptype = "IN"; break;
+ case OMP_DEPEND_OUT: deptype = "OUT"; break;
+ case OMP_DEPEND_INOUT: deptype = "INOUT"; break;
+ case OMP_DEPEND_MUTEXINOUTSET: deptype = "MUTEXINOUTSET"; break;
+ default: gcc_unreachable ();
+ }
+ fputs (deptype, dumpfile);
+ fputc (')', dumpfile);
+ }
if (omp_clauses->atomic_op != GFC_OMP_ATOMIC_UNSET)
{
const char *atomic_op;
@@ -1831,6 +1852,7 @@ show_omp_node (int level, gfc_code *c)
case EXEC_OMP_FLUSH: name = "FLUSH"; break;
case EXEC_OMP_MASTER: name = "MASTER"; break;
case EXEC_OMP_ORDERED: name = "ORDERED"; break;
+ case EXEC_OMP_DEPOBJ: name = "DEPOBJ"; break;
case EXEC_OMP_PARALLEL: name = "PARALLEL"; break;
case EXEC_OMP_PARALLEL_DO: name = "PARALLEL DO"; break;
case EXEC_OMP_PARALLEL_DO_SIMD: name = "PARALLEL DO SIMD"; break;
@@ -1941,6 +1963,15 @@ show_omp_node (int level, gfc_code *c)
if (omp_clauses)
fprintf (dumpfile, " (%s)", c->ext.omp_clauses->critical_name);
break;
+ case EXEC_OMP_DEPOBJ:
+ omp_clauses = c->ext.omp_clauses;
+ if (omp_clauses)
+ {
+ fputc ('(', dumpfile);
+ show_expr (c->ext.omp_clauses->depobj);
+ fputc (')', dumpfile);
+ }
+ break;
case EXEC_OMP_FLUSH:
if (c->ext.omp_namelist)
{
@@ -1969,6 +2000,7 @@ show_omp_node (int level, gfc_code *c)
|| c->op == EXEC_OACC_ENTER_DATA || c->op == EXEC_OACC_EXIT_DATA
|| c->op == EXEC_OMP_TARGET_UPDATE || c->op == EXEC_OMP_TARGET_ENTER_DATA
|| c->op == EXEC_OMP_TARGET_EXIT_DATA || c->op == EXEC_OMP_SCAN
+ || c->op == EXEC_OMP_DEPOBJ
|| (c->op == EXEC_OMP_ORDERED && c->block == NULL))
return;
if (c->op == EXEC_OMP_SECTIONS || c->op == EXEC_OMP_PARALLEL_SECTIONS)
@@ -3094,6 +3126,7 @@ show_code_node (int level, gfc_code *c)
case EXEC_OMP_CANCELLATION_POINT:
case EXEC_OMP_BARRIER:
case EXEC_OMP_CRITICAL:
+ case EXEC_OMP_DEPOBJ:
case EXEC_OMP_DISTRIBUTE:
case EXEC_OMP_DISTRIBUTE_PARALLEL_DO:
case EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD:
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index 7935aca..d12be0c 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -261,7 +261,7 @@ enum gfc_statement
ST_OMP_TARGET_PARALLEL_DO_SIMD, ST_OMP_END_TARGET_PARALLEL_DO_SIMD,
ST_OMP_TARGET_ENTER_DATA, ST_OMP_TARGET_EXIT_DATA,
ST_OMP_TARGET_SIMD, ST_OMP_END_TARGET_SIMD,
- ST_OMP_TASKLOOP, ST_OMP_END_TASKLOOP, ST_OMP_SCAN,
+ ST_OMP_TASKLOOP, ST_OMP_END_TASKLOOP, ST_OMP_SCAN, ST_OMP_DEPOBJ,
ST_OMP_TASKLOOP_SIMD, ST_OMP_END_TASKLOOP_SIMD, ST_OMP_ORDERED_DEPEND,
ST_OMP_REQUIRES, ST_PROCEDURE, ST_GENERIC, ST_CRITICAL, ST_END_CRITICAL,
ST_GET_FCN_CHARACTERISTICS, ST_LOCK, ST_UNLOCK, ST_EVENT_POST,
@@ -1198,9 +1198,12 @@ enum gfc_omp_reduction_op
enum gfc_omp_depend_op
{
+ OMP_DEPEND_UNSET,
OMP_DEPEND_IN,
OMP_DEPEND_OUT,
OMP_DEPEND_INOUT,
+ OMP_DEPEND_MUTEXINOUTSET,
+ OMP_DEPEND_DEPOBJ,
OMP_DEPEND_SINK_FIRST,
OMP_DEPEND_SINK
};
@@ -1402,11 +1405,12 @@ typedef struct gfc_omp_clauses
bool nowait, ordered, untied, mergeable;
bool inbranch, notinbranch, defaultmap, nogroup;
bool sched_simd, sched_monotonic, sched_nonmonotonic;
- bool simd, threads, depend_source, order_concurrent, capture;
+ bool simd, threads, depend_source, destroy, order_concurrent, capture;
enum gfc_omp_atomic_op atomic_op;
enum gfc_omp_memorder memorder;
enum gfc_omp_cancel_kind cancel;
enum gfc_omp_proc_bind_kind proc_bind;
+ enum gfc_omp_depend_op depobj_update;
struct gfc_expr *safelen_expr;
struct gfc_expr *simdlen_expr;
struct gfc_expr *num_teams;
@@ -1417,6 +1421,7 @@ typedef struct gfc_omp_clauses
struct gfc_expr *num_tasks;
struct gfc_expr *priority;
struct gfc_expr *detach;
+ struct gfc_expr *depobj;
struct gfc_expr *if_exprs[OMP_IF_LAST];
enum gfc_omp_sched_kind dist_sched_kind;
struct gfc_expr *dist_chunk_size;
@@ -1437,7 +1442,6 @@ typedef struct gfc_omp_clauses
unsigned par_auto:1, gang_static:1;
unsigned if_present:1, finalize:1;
locus loc;
-
}
gfc_omp_clauses;
@@ -2700,7 +2704,7 @@ enum gfc_exec_op
EXEC_OMP_TARGET_ENTER_DATA, EXEC_OMP_TARGET_EXIT_DATA,
EXEC_OMP_TARGET_PARALLEL, EXEC_OMP_TARGET_PARALLEL_DO,
EXEC_OMP_TARGET_PARALLEL_DO_SIMD, EXEC_OMP_TARGET_SIMD,
- EXEC_OMP_TASKLOOP, EXEC_OMP_TASKLOOP_SIMD, EXEC_OMP_SCAN
+ EXEC_OMP_TASKLOOP, EXEC_OMP_TASKLOOP_SIMD, EXEC_OMP_SCAN, EXEC_OMP_DEPOBJ
};
typedef struct gfc_code
diff --git a/gcc/fortran/match.h b/gcc/fortran/match.h
index 20a530f..b72ec67 100644
--- a/gcc/fortran/match.h
+++ b/gcc/fortran/match.h
@@ -160,6 +160,7 @@ match gfc_match_omp_critical (void);
match gfc_match_omp_declare_reduction (void);
match gfc_match_omp_declare_simd (void);
match gfc_match_omp_declare_target (void);
+match gfc_match_omp_depobj (void);
match gfc_match_omp_distribute (void);
match gfc_match_omp_distribute_parallel_do (void);
match gfc_match_omp_distribute_parallel_do_simd (void);
diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c
index 1f1920c..a1b0572 100644
--- a/gcc/fortran/openmp.c
+++ b/gcc/fortran/openmp.c
@@ -1381,6 +1381,10 @@ gfc_match_omp_clauses (gfc_omp_clauses **cp, const omp_mask mask,
depend_op = OMP_DEPEND_IN;
else if (gfc_match ("out") == MATCH_YES)
depend_op = OMP_DEPEND_OUT;
+ else if (gfc_match ("mutexinoutset") == MATCH_YES)
+ depend_op = OMP_DEPEND_MUTEXINOUTSET;
+ else if (gfc_match ("depobj") == MATCH_YES)
+ depend_op = OMP_DEPEND_DEPOBJ;
else if (!c->depend_source
&& gfc_match ("source )") == MATCH_YES)
{
@@ -2898,6 +2902,86 @@ gfc_match_omp_end_critical (void)
return MATCH_YES;
}
+/* depobj(depobj) depend(dep-type:loc)|destroy|update(dep-type)
+ dep-type = in/out/inout/mutexinoutset/depobj/source/sink
+ depend: !source, !sink
+ update: !source, !sink, !depobj
+ locator = exactly one list item .*/
+match
+gfc_match_omp_depobj (void)
+{
+ gfc_omp_clauses *c = NULL;
+ gfc_expr *depobj;
+
+ if (gfc_match (" ( %v ) ", &depobj) != MATCH_YES)
+ {
+ gfc_error ("Expected %<( depobj )%> at %C");
+ return MATCH_ERROR;
+ }
+ if (gfc_match ("update ( ") == MATCH_YES)
+ {
+ c = gfc_get_omp_clauses ();
+ if (gfc_match ("inout )") == MATCH_YES)
+ c->depobj_update = OMP_DEPEND_INOUT;
+ else if (gfc_match ("in )") == MATCH_YES)
+ c->depobj_update = OMP_DEPEND_IN;
+ else if (gfc_match ("out )") == MATCH_YES)
+ c->depobj_update = OMP_DEPEND_OUT;
+ else if (gfc_match ("mutexinoutset )") == MATCH_YES)
+ c->depobj_update = OMP_DEPEND_MUTEXINOUTSET;
+ else
+ {
+ gfc_error ("Expected IN, OUT, INOUT, MUTEXINOUTSET followed by "
+ "%<)%> at %C");
+ goto error;
+ }
+ }
+ else if (gfc_match ("destroy") == MATCH_YES)
+ {
+ c = gfc_get_omp_clauses ();
+ c->destroy = true;
+ }
+ else if (gfc_match_omp_clauses (&c, omp_mask (OMP_CLAUSE_DEPEND), true, false)
+ != MATCH_YES)
+ goto error;
+
+ if (c->depobj_update == OMP_DEPEND_UNSET && !c->destroy)
+ {
+ if (!c->depend_source && !c->lists[OMP_LIST_DEPEND])
+ {
+ gfc_error ("Expected DEPEND, UPDATE, or DESTROY clause at %C");
+ goto error;
+ }
+ if (c->depend_source
+ || c->lists[OMP_LIST_DEPEND]->u.depend_op == OMP_DEPEND_SINK_FIRST
+ || c->lists[OMP_LIST_DEPEND]->u.depend_op == OMP_DEPEND_SINK
+ || c->lists[OMP_LIST_DEPEND]->u.depend_op == OMP_DEPEND_DEPOBJ)
+ {
+ gfc_error ("DEPEND clause at %L of OMP DEPOBJ construct shall not "
+ "have dependence-type SOURCE, SINK or DEPOBJ",
+ c->lists[OMP_LIST_DEPEND]
+ ? &c->lists[OMP_LIST_DEPEND]->where : &gfc_current_locus);
+ goto error;
+ }
+ if (c->lists[OMP_LIST_DEPEND]->next)
+ {
+ gfc_error ("DEPEND clause at %L of OMP DEPOBJ construct shall have "
+ "only a single locator",
+ &c->lists[OMP_LIST_DEPEND]->next->where);
+ goto error;
+ }
+ }
+
+ c->depobj = depobj;
+ new_st.op = EXEC_OMP_DEPOBJ;
+ new_st.ext.omp_clauses = c;
+ return MATCH_YES;
+
+error:
+ gfc_free_expr (depobj);
+ gfc_free_omp_clauses (c);
+ return MATCH_ERROR;
+}
match
gfc_match_omp_distribute (void)
@@ -4877,6 +4961,14 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses,
"clause at %L", &code->loc);
}
+ if (omp_clauses->depobj
+ && (!gfc_resolve_expr (omp_clauses->depobj)
+ || omp_clauses->depobj->ts.type != BT_INTEGER
+ || omp_clauses->depobj->ts.kind != 2 * gfc_index_integer_kind
+ || omp_clauses->depobj->rank != 0))
+ gfc_error ("DEPOBJ in DEPOBJ construct at %L shall be a scalar integer "
+ "of OMP_DEPEND_KIND kind", &omp_clauses->depobj->where);
+
/* Check that no symbol appears on multiple clauses, except that
a symbol can appear on both firstprivate and lastprivate. */
for (list = 0; list < OMP_LIST_NUM; list++)
@@ -5173,6 +5265,26 @@ resolve_omp_clauses (gfc_code *code, gfc_omp_clauses *omp_clauses,
gfc_error ("Only SOURCE or SINK dependence types "
"are allowed on ORDERED directive at %L",
&n->where);
+ else if (n->u.depend_op == OMP_DEPEND_DEPOBJ
+ && !n->expr
+ && (n->sym->ts.type != BT_INTEGER
+ || n->sym->ts.kind
+ != 2 * gfc_index_integer_kind
+ || n->sym->attr.dimension))
+ gfc_error ("Locator %qs at %L in DEPEND clause of depobj "
+ "type shall be a scalar integer of "
+ "OMP_DEPEND_KIND kind", n->sym->name,
+ &n->where);
+ else if (n->u.depend_op == OMP_DEPEND_DEPOBJ
+ && n->expr
+ && (!gfc_resolve_expr (n->expr)
+ || n->expr->ts.type != BT_INTEGER
+ || n->expr->ts.kind
+ != 2 * gfc_index_integer_kind
+ || n->expr->rank != 0))
+ gfc_error ("Locator at %L in DEPEND clause of depobj "
+ "type shall be a scalar integer of "
+ "OMP_DEPEND_KIND kind", &n->expr->where);
}
gfc_ref *lastref = NULL, *lastslice = NULL;
bool resolved = false;
@@ -7211,6 +7323,7 @@ gfc_resolve_omp_directive (gfc_code *code, gfc_namespace *ns)
case EXEC_OMP_TASK:
case EXEC_OMP_TEAMS:
case EXEC_OMP_WORKSHARE:
+ case EXEC_OMP_DEPOBJ:
if (code->ext.omp_clauses)
resolve_omp_clauses (code, code->ext.omp_clauses, NULL);
break;
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c
index 1549f8e..9bbe9e8 100644
--- a/gcc/fortran/parse.c
+++ b/gcc/fortran/parse.c
@@ -895,6 +895,7 @@ decode_omp_directive (void)
case 'd':
matchds ("declare reduction", gfc_match_omp_declare_reduction,
ST_OMP_DECLARE_REDUCTION);
+ matcho ("depobj", gfc_match_omp_depobj, ST_OMP_DEPOBJ);
matchs ("distribute parallel do simd",
gfc_match_omp_distribute_parallel_do_simd,
ST_OMP_DISTRIBUTE_PARALLEL_DO_SIMD);
@@ -1588,7 +1589,7 @@ next_statement (void)
case ST_ASSIGNMENT: case ST_ARITHMETIC_IF: case ST_WHERE: case ST_FORALL: \
case ST_LABEL_ASSIGNMENT: case ST_FLUSH: case ST_OMP_FLUSH: \
case ST_OMP_BARRIER: case ST_OMP_TASKWAIT: case ST_OMP_TASKYIELD: \
- case ST_OMP_CANCEL: case ST_OMP_CANCELLATION_POINT: \
+ case ST_OMP_CANCEL: case ST_OMP_CANCELLATION_POINT: case ST_OMP_DEPOBJ: \
case ST_OMP_TARGET_UPDATE: case ST_OMP_TARGET_ENTER_DATA: \
case ST_OMP_TARGET_EXIT_DATA: case ST_OMP_ORDERED_DEPEND: \
case ST_ERROR_STOP: case ST_OMP_SCAN: case ST_SYNC_ALL: \
@@ -2285,6 +2286,9 @@ gfc_ascii_statement (gfc_statement st)
case ST_OMP_DECLARE_TARGET:
p = "!$OMP DECLARE TARGET";
break;
+ case ST_OMP_DEPOBJ:
+ p = "!$OMP DEPOBJ";
+ break;
case ST_OMP_DISTRIBUTE:
p = "!$OMP DISTRIBUTE";
break;
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index dd4b266..5a81387 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -12198,6 +12198,7 @@ start:
case EXEC_OMP_CANCELLATION_POINT:
case EXEC_OMP_CRITICAL:
case EXEC_OMP_FLUSH:
+ case EXEC_OMP_DEPOBJ:
case EXEC_OMP_DISTRIBUTE:
case EXEC_OMP_DISTRIBUTE_PARALLEL_DO:
case EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD:
diff --git a/gcc/fortran/st.c b/gcc/fortran/st.c
index 13b3880..9e76199 100644
--- a/gcc/fortran/st.c
+++ b/gcc/fortran/st.c
@@ -218,6 +218,7 @@ gfc_free_statement (gfc_code *p)
case EXEC_OMP_CANCEL:
case EXEC_OMP_CANCELLATION_POINT:
case EXEC_OMP_CRITICAL:
+ case EXEC_OMP_DEPOBJ:
case EXEC_OMP_DISTRIBUTE:
case EXEC_OMP_DISTRIBUTE_PARALLEL_DO:
case EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD:
diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c
index 5e53d11..cceef8f 100644
--- a/gcc/fortran/trans-intrinsic.c
+++ b/gcc/fortran/trans-intrinsic.c
@@ -386,30 +386,20 @@ build_round_expr (tree arg, tree restype)
argprec = TYPE_PRECISION (argtype);
resprec = TYPE_PRECISION (restype);
- /* Depending on the type of the result, choose the int intrinsic
- (iround, available only as a builtin, therefore cannot use it for
- __float128), long int intrinsic (lround family) or long long
- intrinsic (llround). We might also need to convert the result
- afterwards. */
+ /* Depending on the type of the result, choose the int intrinsic (iround,
+ available only as a builtin, therefore cannot use it for __float128), long
+ int intrinsic (lround family) or long long intrinsic (llround). If we
+ don't have an appropriate function that converts directly to the integer
+ type (such as kind == 16), just use ROUND, and then convert the result to
+ an integer. We might also need to convert the result afterwards. */
if (resprec <= INT_TYPE_SIZE && argprec <= LONG_DOUBLE_TYPE_SIZE)
fn = builtin_decl_for_precision (BUILT_IN_IROUND, argprec);
else if (resprec <= LONG_TYPE_SIZE)
fn = builtin_decl_for_precision (BUILT_IN_LROUND, argprec);
else if (resprec <= LONG_LONG_TYPE_SIZE)
fn = builtin_decl_for_precision (BUILT_IN_LLROUND, argprec);
- else if (resprec >= argprec && resprec == 128)
- {
- /* Search for a real kind suitable as temporary for conversion. */
- int kind = -1;
- for (int i = 0; kind < 0 && gfc_real_kinds[i].kind != 0; i++)
- if (gfc_real_kinds[i].mode_precision >= resprec)
- kind = gfc_real_kinds[i].kind;
- if (kind < 0)
- gfc_internal_error ("Could not find real kind with at least %d bits",
- resprec);
- arg = fold_convert (gfc_get_real_type (kind), arg);
- fn = gfc_builtin_decl_for_float_kind (BUILT_IN_ROUND, kind);
- }
+ else if (resprec >= argprec)
+ fn = builtin_decl_for_precision (BUILT_IN_ROUND, argprec);
else
gcc_unreachable ();
diff --git a/gcc/fortran/trans-openmp.c b/gcc/fortran/trans-openmp.c
index 349df1c..bf3f261 100644
--- a/gcc/fortran/trans-openmp.c
+++ b/gcc/fortran/trans-openmp.c
@@ -2545,6 +2545,9 @@ gfc_trans_omp_clauses (stmtblock_t *block, gfc_omp_clauses *clauses,
tree decl = gfc_trans_omp_variable (n->sym, false);
if (gfc_omp_privatize_by_reference (decl))
decl = build_fold_indirect_ref (decl);
+ if (n->u.depend_op == OMP_DEPEND_DEPOBJ
+ && POINTER_TYPE_P (TREE_TYPE (decl)))
+ decl = build_fold_indirect_ref (decl);
if (GFC_DESCRIPTOR_TYPE_P (TREE_TYPE (decl)))
{
decl = gfc_conv_descriptor_data_get (decl);
@@ -2587,6 +2590,13 @@ gfc_trans_omp_clauses (stmtblock_t *block, gfc_omp_clauses *clauses,
case OMP_DEPEND_INOUT:
OMP_CLAUSE_DEPEND_KIND (node) = OMP_CLAUSE_DEPEND_INOUT;
break;
+ case OMP_DEPEND_MUTEXINOUTSET:
+ OMP_CLAUSE_DEPEND_KIND (node)
+ = OMP_CLAUSE_DEPEND_MUTEXINOUTSET;
+ break;
+ case OMP_DEPEND_DEPOBJ:
+ OMP_CLAUSE_DEPEND_KIND (node) = OMP_CLAUSE_DEPEND_DEPOBJ;
+ break;
default:
gcc_unreachable ();
}
@@ -4913,6 +4923,62 @@ gfc_trans_oacc_combined_directive (gfc_code *code)
}
static tree
+gfc_trans_omp_depobj (gfc_code *code)
+{
+ stmtblock_t block;
+ gfc_se se;
+ gfc_init_se (&se, NULL);
+ gfc_init_block (&block);
+ gfc_conv_expr (&se, code->ext.omp_clauses->depobj);
+ gcc_assert (se.pre.head == NULL && se.post.head == NULL);
+ tree depobj = se.expr;
+ location_t loc = EXPR_LOCATION (depobj);
+ if (!POINTER_TYPE_P (TREE_TYPE (depobj)))
+ depobj = gfc_build_addr_expr (NULL, depobj);
+ depobj = fold_convert (build_pointer_type_for_mode (ptr_type_node,
+ TYPE_MODE (ptr_type_node),
+ true), depobj);
+ gfc_omp_namelist *n = code->ext.omp_clauses->lists[OMP_LIST_DEPEND];
+ if (n)
+ {
+ tree var;
+ if (n->expr)
+ var = gfc_convert_expr_to_tree (&block, n->expr);
+ else
+ var = gfc_get_symbol_decl (n->sym);
+ if (!POINTER_TYPE_P (TREE_TYPE (var)))
+ var = gfc_build_addr_expr (NULL, var);
+ depobj = save_expr (depobj);
+ tree r = build_fold_indirect_ref_loc (loc, depobj);
+ gfc_add_expr_to_block (&block,
+ build2 (MODIFY_EXPR, void_type_node, r, var));
+ }
+
+ /* Only one may be set. */
+ gcc_assert (((int)(n != NULL) + (int)(code->ext.omp_clauses->destroy)
+ + (int)(code->ext.omp_clauses->depobj_update != OMP_DEPEND_UNSET))
+ == 1);
+ int k = -1; /* omp_clauses->destroy */
+ if (!code->ext.omp_clauses->destroy)
+ switch (code->ext.omp_clauses->depobj_update != OMP_DEPEND_UNSET
+ ? code->ext.omp_clauses->depobj_update : n->u.depend_op)
+ {
+ case OMP_DEPEND_IN: k = GOMP_DEPEND_IN; break;
+ case OMP_DEPEND_OUT: k = GOMP_DEPEND_IN; break;
+ case OMP_DEPEND_INOUT: k = GOMP_DEPEND_IN; break;
+ case OMP_DEPEND_MUTEXINOUTSET: k = GOMP_DEPEND_MUTEXINOUTSET; break;
+ default: gcc_unreachable ();
+ }
+ tree t = build_int_cst (ptr_type_node, k);
+ depobj = build2_loc (loc, POINTER_PLUS_EXPR, TREE_TYPE (depobj), depobj,
+ TYPE_SIZE_UNIT (ptr_type_node));
+ depobj = build_fold_indirect_ref_loc (loc, depobj);
+ gfc_add_expr_to_block (&block, build2 (MODIFY_EXPR, void_type_node, depobj, t));
+
+ return gfc_finish_block (&block);
+}
+
+static tree
gfc_trans_omp_flush (gfc_code *code)
{
tree call;
@@ -6181,6 +6247,8 @@ gfc_trans_omp_directive (gfc_code *code)
return gfc_trans_omp_cancellation_point (code);
case EXEC_OMP_CRITICAL:
return gfc_trans_omp_critical (code);
+ case EXEC_OMP_DEPOBJ:
+ return gfc_trans_omp_depobj (code);
case EXEC_OMP_DISTRIBUTE:
case EXEC_OMP_DO:
case EXEC_OMP_SIMD:
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c
index 9e8e861..624c713 100644
--- a/gcc/fortran/trans.c
+++ b/gcc/fortran/trans.c
@@ -2161,6 +2161,7 @@ trans_code (gfc_code * code, tree cond)
case EXEC_OMP_CANCEL:
case EXEC_OMP_CANCELLATION_POINT:
case EXEC_OMP_CRITICAL:
+ case EXEC_OMP_DEPOBJ:
case EXEC_OMP_DISTRIBUTE:
case EXEC_OMP_DISTRIBUTE_PARALLEL_DO:
case EXEC_OMP_DISTRIBUTE_PARALLEL_DO_SIMD:
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c
index 9e6683d..7602018 100644
--- a/gcc/gimple-fold.c
+++ b/gcc/gimple-fold.c
@@ -303,13 +303,11 @@ get_symbol_constant_value (tree sym)
-/* Subroutine of fold_stmt. We perform several simplifications of the
- memory reference tree EXPR and make sure to re-gimplify them properly
- after propagation of constant addresses. IS_LHS is true if the
- reference is supposed to be an lvalue. */
+/* Subroutine of fold_stmt. We perform constant folding of the
+ memory reference tree EXPR. */
static tree
-maybe_fold_reference (tree expr, bool is_lhs)
+maybe_fold_reference (tree expr)
{
tree result;
@@ -330,8 +328,7 @@ maybe_fold_reference (tree expr, bool is_lhs)
TREE_OPERAND (expr, 1),
TREE_OPERAND (expr, 2));
- if (!is_lhs
- && (result = fold_const_aggregate_ref (expr))
+ if ((result = fold_const_aggregate_ref (expr))
&& is_gimple_min_invariant (result))
return result;
@@ -363,7 +360,7 @@ fold_gimple_assign (gimple_stmt_iterator *si)
return NULL_TREE;
if (REFERENCE_CLASS_P (rhs))
- return maybe_fold_reference (rhs, false);
+ return maybe_fold_reference (rhs);
else if (TREE_CODE (rhs) == OBJ_TYPE_REF)
{
@@ -405,28 +402,14 @@ fold_gimple_assign (gimple_stmt_iterator *si)
else if (TREE_CODE (rhs) == ADDR_EXPR)
{
tree ref = TREE_OPERAND (rhs, 0);
- tree tem = maybe_fold_reference (ref, true);
- if (tem
- && TREE_CODE (tem) == MEM_REF
- && integer_zerop (TREE_OPERAND (tem, 1)))
- result = fold_convert (TREE_TYPE (rhs), TREE_OPERAND (tem, 0));
- else if (tem)
- result = fold_convert (TREE_TYPE (rhs),
- build_fold_addr_expr_loc (loc, tem));
- else if (TREE_CODE (ref) == MEM_REF
- && integer_zerop (TREE_OPERAND (ref, 1)))
- result = fold_convert (TREE_TYPE (rhs), TREE_OPERAND (ref, 0));
-
- if (result)
+ if (TREE_CODE (ref) == MEM_REF
+ && integer_zerop (TREE_OPERAND (ref, 1)))
{
- /* Strip away useless type conversions. Both the
- NON_LVALUE_EXPR that may have been added by fold, and
- "useless" type conversions that might now be apparent
- due to propagation. */
- STRIP_USELESS_TYPE_CONVERSION (result);
-
- if (result != rhs && valid_gimple_rhs_p (result))
- return result;
+ result = TREE_OPERAND (ref, 0);
+ if (!useless_type_conversion_p (TREE_TYPE (rhs),
+ TREE_TYPE (result)))
+ result = build1 (NOP_EXPR, TREE_TYPE (rhs), result);
+ return result;
}
}
@@ -5262,7 +5245,7 @@ gimple_fold_call (gimple_stmt_iterator *gsi, bool inplace)
for (i = 0; i < gimple_call_num_args (stmt); ++i)
if (REFERENCE_CLASS_P (gimple_call_arg (stmt, i)))
{
- tree tmp = maybe_fold_reference (gimple_call_arg (stmt, i), false);
+ tree tmp = maybe_fold_reference (gimple_call_arg (stmt, i));
if (tmp)
{
gimple_call_set_arg (stmt, i, tmp);
@@ -5373,7 +5356,7 @@ gimple_fold_call (gimple_stmt_iterator *gsi, bool inplace)
}
else
{
- tree tmp = maybe_fold_reference (gimple_call_chain (stmt), false);
+ tree tmp = maybe_fold_reference (gimple_call_chain (stmt));
if (tmp)
{
gimple_call_set_chain (stmt, tmp);
@@ -6107,18 +6090,11 @@ fold_stmt_1 (gimple_stmt_iterator *gsi, bool inplace, tree (*valueize) (tree))
noutputs = gimple_asm_noutputs (asm_stmt);
oconstraints = XALLOCAVEC (const char *, noutputs);
- for (i = 0; i < gimple_asm_noutputs (asm_stmt); ++i)
+ for (i = 0; i < noutputs; ++i)
{
tree link = gimple_asm_output_op (asm_stmt, i);
- tree op = TREE_VALUE (link);
oconstraints[i]
= TREE_STRING_POINTER (TREE_VALUE (TREE_PURPOSE (link)));
- if (REFERENCE_CLASS_P (op)
- && (op = maybe_fold_reference (op, true)) != NULL_TREE)
- {
- TREE_VALUE (link) = op;
- changed = true;
- }
}
for (i = 0; i < gimple_asm_ninputs (asm_stmt); ++i)
{
@@ -6129,8 +6105,8 @@ fold_stmt_1 (gimple_stmt_iterator *gsi, bool inplace, tree (*valueize) (tree))
parse_input_constraint (&constraint, 0, 0, noutputs, 0,
oconstraints, &allows_mem, &allows_reg);
if (REFERENCE_CLASS_P (op)
- && (op = maybe_fold_reference (op, !allows_reg && allows_mem))
- != NULL_TREE)
+ && (allows_reg || !allows_mem)
+ && (op = maybe_fold_reference (op)) != NULL_TREE)
{
TREE_VALUE (link) = op;
changed = true;
@@ -6146,7 +6122,7 @@ fold_stmt_1 (gimple_stmt_iterator *gsi, bool inplace, tree (*valueize) (tree))
if (val
&& REFERENCE_CLASS_P (val))
{
- tree tem = maybe_fold_reference (val, false);
+ tree tem = maybe_fold_reference (val);
if (tem)
{
gimple_debug_bind_set_value (stmt, tem);
@@ -6157,7 +6133,7 @@ fold_stmt_1 (gimple_stmt_iterator *gsi, bool inplace, tree (*valueize) (tree))
&& TREE_CODE (val) == ADDR_EXPR)
{
tree ref = TREE_OPERAND (val, 0);
- tree tem = maybe_fold_reference (ref, false);
+ tree tem = maybe_fold_reference (ref);
if (tem)
{
tem = build_fold_addr_expr_with_type (tem, TREE_TYPE (val));
@@ -6191,21 +6167,6 @@ fold_stmt_1 (gimple_stmt_iterator *gsi, bool inplace, tree (*valueize) (tree))
stmt = gsi_stmt (*gsi);
- /* Fold *& on the lhs. */
- if (gimple_has_lhs (stmt))
- {
- tree lhs = gimple_get_lhs (stmt);
- if (lhs && REFERENCE_CLASS_P (lhs))
- {
- tree new_lhs = maybe_fold_reference (lhs, true);
- if (new_lhs)
- {
- gimple_set_lhs (stmt, new_lhs);
- changed = true;
- }
- }
- }
-
fold_undefer_overflow_warnings (changed && !nowarning, stmt, 0);
return changed;
}
diff --git a/gcc/ipa-modref.c b/gcc/ipa-modref.c
index ef5e62b..e7f79ca 100644
--- a/gcc/ipa-modref.c
+++ b/gcc/ipa-modref.c
@@ -3867,7 +3867,8 @@ ipa_modref_c_finalize ()
if (optimization_summaries)
ggc_delete (optimization_summaries);
optimization_summaries = NULL;
- gcc_checking_assert (!summaries);
+ gcc_checking_assert (!summaries
+ || flag_incremental_link == INCREMENTAL_LINK_LTO);
if (summaries_lto)
ggc_delete (summaries_lto);
summaries_lto = NULL;
diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c
index 03a5922..0b626d7c 100644
--- a/gcc/lto-wrapper.c
+++ b/gcc/lto-wrapper.c
@@ -1585,8 +1585,9 @@ run_gcc (unsigned argc, char *argv[])
if (jobserver && jobserver_error != NULL)
{
warning (0, jobserver_error);
- parallel = 0;
+ /* Fall back to auto parallelism. */
jobserver = 0;
+ auto_parallel = 1;
}
else if (!jobserver && jobserver_error == NULL)
{
diff --git a/gcc/main.c b/gcc/main.c
index ab0244b..093e639 100644
--- a/gcc/main.c
+++ b/gcc/main.c
@@ -36,5 +36,10 @@ main (int argc, char **argv)
toplev toplev (NULL, /* external_timer */
true /* init_signals */);
- return toplev.main (argc, argv);
+ int r = toplev.main (argc, argv);
+#if CHECKING_P
+ toplev.finalize ();
+#endif
+
+ return r;
}
diff --git a/gcc/opth-gen.awk b/gcc/opth-gen.awk
index 0491525..32475fd 100644
--- a/gcc/opth-gen.awk
+++ b/gcc/opth-gen.awk
@@ -439,10 +439,17 @@ for (i = 0; i < n_opts; i++) {
mask = "MASK_"
extra_mask_macros[name] = 1
}
+ original_name = name
+ gsub("ISA_", "", name)
+ gsub("ISA2_", "", name)
+ print "/* " original_name " mask */"
print "#define TARGET_" name \
- " ((" vname " & " mask name ") != 0)"
+ " ((" vname " & " mask original_name ") != 0)"
print "#define TARGET_" name "_P(" vname ")" \
- " (((" vname ") & " mask name ") != 0)"
+ " (((" vname ") & " mask original_name ") != 0)"
+ print "#define TARGET_EXPLICIT_" name "_P(opts)" \
+ " ((opts->x_" vname "_explicit & " mask original_name ") != 0)"
+ print "#define SET_TARGET_" name "(opts) opts->x_" vname " |= " mask original_name
}
}
for (i = 0; i < n_extra_masks; i++) {
diff --git a/gcc/params.opt b/gcc/params.opt
index 7c7aa78..2e4cbdd 100644
--- a/gcc/params.opt
+++ b/gcc/params.opt
@@ -160,7 +160,7 @@ Enum(evrp_mode) String(debug) Value(EVRP_MODE_DEBUG)
-param=ranger-logical-depth=
Common Joined UInteger Var(param_ranger_logical_depth) Init(6) IntegerRange(1, 999) Param Optimization
Maximum depth of logical expression evaluation ranger will look through when
-evaluting outgoing edge ranges.
+evaluating outgoing edge ranges.
-param=fsm-maximum-phi-arguments=
Common Joined UInteger Var(param_fsm_maximum_phi_arguments) Init(100) IntegerRange(1, 999999) Param Optimization
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index 848d446..d3638ed 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,3 +1,7 @@
+2021-04-20 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.pot: Regenerate.
+
2021-04-12 Joseph Myers <joseph@codesourcery.com>
* sv.po: Update.
diff --git a/gcc/po/gcc.pot b/gcc/po/gcc.pot
index 95f3bcf..394fc1b 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: 2021-03-19 21:31+0000\n"
+"POT-Creation-Date: 2021-04-20 18:17+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"
@@ -1247,11 +1247,11 @@ msgstr ""
msgid "this is the insn:"
msgstr ""
-#: lra-constraints.c:3103
+#: lra-constraints.c:3108
msgid "unable to generate reloads for impossible constraints:"
msgstr ""
-#: lra-constraints.c:4133 reload.c:3862
+#: lra-constraints.c:4138 reload.c:3868
msgid "unable to generate reloads for:"
msgstr ""
@@ -1425,16 +1425,16 @@ msgstr ""
msgid "insn does not satisfy its constraints:"
msgstr ""
-#: targhooks.c:2075
+#: targhooks.c:2089
#, c-format
msgid "created and used with differing settings of '%s'"
msgstr ""
-#: targhooks.c:2090
+#: targhooks.c:2104
msgid "created and used with different settings of %<-fpic%>"
msgstr ""
-#: targhooks.c:2092
+#: targhooks.c:2106
msgid "created and used with different settings of %<-fpie%>"
msgstr ""
@@ -1471,7 +1471,7 @@ msgid ""
"%s%sGGC heuristics: --param ggc-min-expand=%d --param ggc-min-heapsize=%d\n"
msgstr ""
-#: tree-diagnostic.c:299 c/c-decl.c:6041 c/c-typeck.c:7780 cp/error.c:1111
+#: tree-diagnostic.c:299 c/c-decl.c:6040 c/c-typeck.c:7840 cp/error.c:1111
#: tree-diagnostic-path.cc:257 c-family/c-pretty-print.c:424
#, gcc-internal-format
msgid "<anonymous>"
@@ -1917,83 +1917,83 @@ msgstr ""
msgid "<command-line>"
msgstr ""
-#: config/aarch64/aarch64.c:10259
+#: config/aarch64/aarch64.c:10663
#, c-format
msgid "unsupported operand for code '%c'"
msgstr ""
-#: config/aarch64/aarch64.c:10268 config/aarch64/aarch64.c:10281
-#: config/aarch64/aarch64.c:10293 config/aarch64/aarch64.c:10304
-#: config/aarch64/aarch64.c:10320 config/aarch64/aarch64.c:10334
-#: config/aarch64/aarch64.c:10354 config/aarch64/aarch64.c:10428
-#: config/aarch64/aarch64.c:10439 config/aarch64/aarch64.c:10453
-#: config/aarch64/aarch64.c:10675 config/aarch64/aarch64.c:10693
+#: config/aarch64/aarch64.c:10672 config/aarch64/aarch64.c:10685
+#: config/aarch64/aarch64.c:10697 config/aarch64/aarch64.c:10708
+#: config/aarch64/aarch64.c:10724 config/aarch64/aarch64.c:10738
+#: config/aarch64/aarch64.c:10758 config/aarch64/aarch64.c:10832
+#: config/aarch64/aarch64.c:10843 config/aarch64/aarch64.c:10857
+#: config/aarch64/aarch64.c:11079 config/aarch64/aarch64.c:11097
#: config/pru/pru.c:1669 config/pru/pru.c:1679 config/pru/pru.c:1710
#: config/pru/pru.c:1721 config/pru/pru.c:1793
#, c-format
msgid "invalid operand for '%%%c'"
msgstr ""
-#: config/aarch64/aarch64.c:10372 config/aarch64/aarch64.c:10383
-#: config/aarch64/aarch64.c:10535 config/aarch64/aarch64.c:10546
+#: config/aarch64/aarch64.c:10776 config/aarch64/aarch64.c:10787
+#: config/aarch64/aarch64.c:10939 config/aarch64/aarch64.c:10950
#, c-format
msgid "invalid vector constant"
msgstr ""
-#: config/aarch64/aarch64.c:10395 config/aarch64/aarch64.c:10407
+#: config/aarch64/aarch64.c:10799 config/aarch64/aarch64.c:10811
#, c-format
msgid "incompatible floating point / vector register operand for '%%%c'"
msgstr ""
-#: config/aarch64/aarch64.c:10421
+#: config/aarch64/aarch64.c:10825
#, c-format
msgid "incompatible register operand for '%%%c'"
msgstr ""
-#: config/aarch64/aarch64.c:10487 config/arm/arm.c:24289
+#: config/aarch64/aarch64.c:10891 config/arm/arm.c:24308
#, c-format
msgid "missing operand"
msgstr ""
-#: config/aarch64/aarch64.c:10572
+#: config/aarch64/aarch64.c:10976
#, c-format
msgid "invalid constant"
msgstr ""
-#: config/aarch64/aarch64.c:10575
+#: config/aarch64/aarch64.c:10979
#, c-format
msgid "invalid operand"
msgstr ""
-#: config/aarch64/aarch64.c:10701 config/aarch64/aarch64.c:10706
+#: config/aarch64/aarch64.c:11105 config/aarch64/aarch64.c:11110
#, c-format
msgid "invalid operand prefix '%%%c'"
msgstr ""
-#: config/aarch64/aarch64.c:10726
+#: config/aarch64/aarch64.c:11130
#, c-format
msgid "invalid address mode"
msgstr ""
-#: config/aarch64/aarch64.c:23568 config/arm/arm.c:33644
+#: config/aarch64/aarch64.c:25211 config/arm/arm.c:33660
msgid "invalid conversion from type %<bfloat16_t%>"
msgstr ""
-#: config/aarch64/aarch64.c:23570 config/arm/arm.c:33646
+#: config/aarch64/aarch64.c:25213 config/arm/arm.c:33662
msgid "invalid conversion to type %<bfloat16_t%>"
msgstr ""
-#: config/aarch64/aarch64.c:23585 config/aarch64/aarch64.c:23601
-#: config/arm/arm.c:33661 config/arm/arm.c:33677
+#: config/aarch64/aarch64.c:25228 config/aarch64/aarch64.c:25244
+#: config/arm/arm.c:33677 config/arm/arm.c:33693
msgid "operation not permitted on type %<bfloat16_t%>"
msgstr ""
-#: config/aarch64/aarch64.c:23609
+#: config/aarch64/aarch64.c:25252
msgid "cannot combine GNU and SVE vectors in a binary operation"
msgstr ""
#: config/alpha/alpha.c:5076 config/i386/i386.c:13227
-#: config/rs6000/rs6000.c:14054 config/sparc/sparc.c:9323
+#: config/rs6000/rs6000.c:14147 config/sparc/sparc.c:9323
#, c-format
msgid "'%%&' used without any local dynamic TLS references"
msgstr ""
@@ -2009,18 +2009,18 @@ msgid "invalid %%r value"
msgstr ""
#: config/alpha/alpha.c:5174 config/ia64/ia64.c:5531
-#: config/rs6000/rs6000.c:13748 config/xtensa/xtensa.c:2459
+#: config/rs6000/rs6000.c:13841 config/xtensa/xtensa.c:2459
#, c-format
msgid "invalid %%R value"
msgstr ""
-#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:13668
+#: config/alpha/alpha.c:5180 config/rs6000/rs6000.c:13761
#: config/xtensa/xtensa.c:2426
#, c-format
msgid "invalid %%N value"
msgstr ""
-#: config/alpha/alpha.c:5188 config/rs6000/rs6000.c:13696
+#: config/alpha/alpha.c:5188 config/rs6000/rs6000.c:13789
#, c-format
msgid "invalid %%P value"
msgstr ""
@@ -2050,7 +2050,7 @@ msgstr ""
msgid "invalid %%U value"
msgstr ""
-#: config/alpha/alpha.c:5274 config/rs6000/rs6000.c:13756
+#: config/alpha/alpha.c:5274 config/rs6000/rs6000.c:13849
#, c-format
msgid "invalid %%s value"
msgstr ""
@@ -2060,7 +2060,7 @@ msgstr ""
msgid "invalid %%C value"
msgstr ""
-#: config/alpha/alpha.c:5322 config/rs6000/rs6000.c:13532
+#: config/alpha/alpha.c:5322 config/rs6000/rs6000.c:13625
#, c-format
msgid "invalid %%E value"
msgstr ""
@@ -2073,7 +2073,7 @@ msgstr ""
#: config/alpha/alpha.c:5356 config/cr16/cr16.c:1570 config/gcn/gcn.c:5799
#: config/gcn/gcn.c:5808 config/gcn/gcn.c:5868 config/gcn/gcn.c:5876
#: config/gcn/gcn.c:5892 config/gcn/gcn.c:5910 config/gcn/gcn.c:5961
-#: config/gcn/gcn.c:6080 config/gcn/gcn.c:6191 config/rs6000/rs6000.c:14059
+#: config/gcn/gcn.c:6080 config/gcn/gcn.c:6191 config/rs6000/rs6000.c:14152
#, c-format
msgid "invalid %%xn code"
msgstr ""
@@ -2155,35 +2155,35 @@ msgstr ""
msgid "unrecognized supposed constant"
msgstr ""
-#: config/arm/arm.c:20653 config/arm/arm.c:20678 config/arm/arm.c:20688
-#: config/arm/arm.c:20697 config/arm/arm.c:20706
+#: config/arm/arm.c:20672 config/arm/arm.c:20697 config/arm/arm.c:20707
+#: config/arm/arm.c:20716 config/arm/arm.c:20725
#, c-format
msgid "invalid shift operand"
msgstr ""
-#: config/arm/arm.c:23562 config/arm/arm.c:23580
+#: config/arm/arm.c:23581 config/arm/arm.c:23599
#, c-format
msgid "predicated Thumb instruction"
msgstr ""
-#: config/arm/arm.c:23568
+#: config/arm/arm.c:23587
#, c-format
msgid "predicated instruction in conditional sequence"
msgstr ""
-#: config/arm/arm.c:23686 config/arm/arm.c:23699 config/arm/arm.c:23724
+#: config/arm/arm.c:23705 config/arm/arm.c:23718 config/arm/arm.c:23743
#: config/nios2/nios2.c:3080
#, c-format
msgid "Unsupported operand for code '%c'"
msgstr ""
-#: config/arm/arm.c:23801 config/arm/arm.c:23823 config/arm/arm.c:23833
-#: config/arm/arm.c:23843 config/arm/arm.c:23853 config/arm/arm.c:23892
-#: config/arm/arm.c:23910 config/arm/arm.c:23935 config/arm/arm.c:23950
-#: config/arm/arm.c:23977 config/arm/arm.c:23984 config/arm/arm.c:24002
-#: config/arm/arm.c:24009 config/arm/arm.c:24017 config/arm/arm.c:24038
-#: config/arm/arm.c:24045 config/arm/arm.c:24236 config/arm/arm.c:24243
-#: config/arm/arm.c:24270 config/arm/arm.c:24277 config/bfin/bfin.c:1440
+#: config/arm/arm.c:23820 config/arm/arm.c:23842 config/arm/arm.c:23852
+#: config/arm/arm.c:23862 config/arm/arm.c:23872 config/arm/arm.c:23911
+#: config/arm/arm.c:23929 config/arm/arm.c:23954 config/arm/arm.c:23969
+#: config/arm/arm.c:23996 config/arm/arm.c:24003 config/arm/arm.c:24021
+#: config/arm/arm.c:24028 config/arm/arm.c:24036 config/arm/arm.c:24057
+#: config/arm/arm.c:24064 config/arm/arm.c:24255 config/arm/arm.c:24262
+#: config/arm/arm.c:24289 config/arm/arm.c:24296 config/bfin/bfin.c:1440
#: config/bfin/bfin.c:1447 config/bfin/bfin.c:1454 config/bfin/bfin.c:1461
#: config/bfin/bfin.c:1470 config/bfin/bfin.c:1477 config/bfin/bfin.c:1484
#: config/bfin/bfin.c:1491 config/nds32/nds32.c:3543
@@ -2191,13 +2191,13 @@ msgstr ""
msgid "invalid operand for code '%c'"
msgstr ""
-#: config/arm/arm.c:23905
+#: config/arm/arm.c:23924
#, c-format
msgid "instruction never executed"
msgstr ""
#. Former Maverick support, removed after GCC-4.7.
-#: config/arm/arm.c:23926
+#: config/arm/arm.c:23945
#, c-format
msgid "obsolete Maverick format code '%c'"
msgstr ""
@@ -2317,8 +2317,8 @@ msgstr ""
#: config/cris/cris.c:775 config/ft32/ft32.c:110 config/moxie/moxie.c:108
#: final.c:3625 final.c:3627 fold-const.c:267 gcc.c:6030 gcc.c:6044
-#: rtl-error.c:101 toplev.c:327 vr-values.c:2370 cp/typeck.c:6928
-#: d/dmd/dsymbolsem.c:1450 d/dmd/semantic2.c:75 lto/lto-object.c:184
+#: rtl-error.c:101 toplev.c:327 vr-values.c:2370 cp/typeck.c:6939
+#: d/dmd/dsymbolsem.c:1451 d/dmd/semantic2.c:75 lto/lto-object.c:184
#: lto/lto-object.c:281 lto/lto-object.c:338 lto/lto-object.c:362
#, gcc-internal-format, gfc-internal-format
msgid "%s"
@@ -2682,7 +2682,7 @@ msgstr ""
msgid "invalid %%P operand"
msgstr ""
-#: config/iq2000/iq2000.c:3134 config/rs6000/rs6000.c:13686
+#: config/iq2000/iq2000.c:3134 config/rs6000/rs6000.c:13779
#, c-format
msgid "invalid %%p value"
msgstr ""
@@ -2735,7 +2735,7 @@ msgstr ""
msgid "post-increment address is not a register"
msgstr ""
-#: config/m32r/m32r.c:2335 config/m32r/m32r.c:2350 config/rs6000/rs6000.c:20528
+#: config/m32r/m32r.c:2335 config/m32r/m32r.c:2350 config/rs6000/rs6000.c:20645
msgid "bad address"
msgstr ""
@@ -2787,8 +2787,8 @@ msgstr ""
#: config/mips/mips.c:9084 config/mips/mips.c:9087 config/mips/mips.c:9099
#: config/mips/mips.c:9102 config/mips/mips.c:9162 config/mips/mips.c:9169
#: config/mips/mips.c:9190 config/mips/mips.c:9205 config/mips/mips.c:9224
-#: config/mips/mips.c:9233 config/riscv/riscv.c:3326 config/riscv/riscv.c:3441
-#: config/riscv/riscv.c:3447 config/riscv/riscv.c:3456
+#: config/mips/mips.c:9233 config/riscv/riscv.c:3335 config/riscv/riscv.c:3450
+#: config/riscv/riscv.c:3456 config/riscv/riscv.c:3465
#, c-format
msgid "invalid use of '%%%c'"
msgstr ""
@@ -2926,286 +2926,286 @@ msgstr ""
msgid "Try running '%s' in the shell to raise its limit.\n"
msgstr ""
-#: config/rs6000/rs6000.c:3851
+#: config/rs6000/rs6000.c:3855
msgid "%<-mvsx%> requires hardware floating point"
msgstr ""
-#: config/rs6000/rs6000.c:3859
+#: config/rs6000/rs6000.c:3863
msgid "%<-mvsx%> needs indexed addressing"
msgstr ""
-#: config/rs6000/rs6000.c:3864
+#: config/rs6000/rs6000.c:3868
msgid "%<-mvsx%> and %<-mno-altivec%> are incompatible"
msgstr ""
-#: config/rs6000/rs6000.c:3866
+#: config/rs6000/rs6000.c:3870
msgid "%<-mno-altivec%> disables vsx"
msgstr ""
-#: config/rs6000/rs6000.c:4006
+#: config/rs6000/rs6000.c:4010
msgid "%<-mquad-memory%> requires 64-bit mode"
msgstr ""
-#: config/rs6000/rs6000.c:4009
+#: config/rs6000/rs6000.c:4013
msgid "%<-mquad-memory-atomic%> requires 64-bit mode"
msgstr ""
-#: config/rs6000/rs6000.c:4021
+#: config/rs6000/rs6000.c:4025
msgid "%<-mquad-memory%> is not available in little endian mode"
msgstr ""
-#: config/rs6000/rs6000.c:10752
+#: config/rs6000/rs6000.c:10845
msgid "bad move"
msgstr ""
-#: config/rs6000/rs6000.c:13316
+#: config/rs6000/rs6000.c:13409
msgid "Bad 128-bit move"
msgstr ""
-#: config/rs6000/rs6000.c:13496
+#: config/rs6000/rs6000.c:13589
#, c-format
msgid "invalid %%A value"
msgstr ""
-#: config/rs6000/rs6000.c:13505 config/xtensa/xtensa.c:2402
+#: config/rs6000/rs6000.c:13598 config/xtensa/xtensa.c:2402
#, c-format
msgid "invalid %%D value"
msgstr ""
-#: config/rs6000/rs6000.c:13520
+#: config/rs6000/rs6000.c:13613
#, c-format
msgid "invalid %%e value"
msgstr ""
-#: config/rs6000/rs6000.c:13541
+#: config/rs6000/rs6000.c:13634
#, c-format
msgid "invalid %%f value"
msgstr ""
-#: config/rs6000/rs6000.c:13550
+#: config/rs6000/rs6000.c:13643
#, c-format
msgid "invalid %%F value"
msgstr ""
-#: config/rs6000/rs6000.c:13559
+#: config/rs6000/rs6000.c:13652
#, c-format
msgid "invalid %%G value"
msgstr ""
-#: config/rs6000/rs6000.c:13594
+#: config/rs6000/rs6000.c:13687
#, c-format
msgid "invalid %%j code"
msgstr ""
-#: config/rs6000/rs6000.c:13604
+#: config/rs6000/rs6000.c:13697
#, c-format
msgid "invalid %%J code"
msgstr ""
-#: config/rs6000/rs6000.c:13614
+#: config/rs6000/rs6000.c:13707
#, c-format
msgid "invalid %%k value"
msgstr ""
-#: config/rs6000/rs6000.c:13629 config/xtensa/xtensa.c:2445
+#: config/rs6000/rs6000.c:13722 config/xtensa/xtensa.c:2445
#, c-format
msgid "invalid %%K value"
msgstr ""
-#: config/rs6000/rs6000.c:13676
+#: config/rs6000/rs6000.c:13769
#, c-format
msgid "invalid %%O value"
msgstr ""
-#: config/rs6000/rs6000.c:13723
+#: config/rs6000/rs6000.c:13816
#, c-format
msgid "invalid %%q value"
msgstr ""
-#: config/rs6000/rs6000.c:13765
+#: config/rs6000/rs6000.c:13858
#, c-format
msgid "invalid %%t value"
msgstr ""
-#: config/rs6000/rs6000.c:13782
+#: config/rs6000/rs6000.c:13875
#, c-format
msgid "invalid %%T value"
msgstr ""
-#: config/rs6000/rs6000.c:13794
+#: config/rs6000/rs6000.c:13887
#, c-format
msgid "invalid %%u value"
msgstr ""
-#: config/rs6000/rs6000.c:13808 config/xtensa/xtensa.c:2414
+#: config/rs6000/rs6000.c:13901 config/xtensa/xtensa.c:2414
#, c-format
msgid "invalid %%v value"
msgstr ""
-#: config/rs6000/rs6000.c:13858
+#: config/rs6000/rs6000.c:13951
#, c-format
msgid "invalid %%V value"
msgstr ""
-#: config/rs6000/rs6000.c:13875 config/xtensa/xtensa.c:2466
+#: config/rs6000/rs6000.c:13968 config/xtensa/xtensa.c:2466
#, c-format
msgid "invalid %%x value"
msgstr ""
-#: config/rs6000/rs6000.c:13932
+#: config/rs6000/rs6000.c:14025
#, c-format
msgid "invalid %%z value"
msgstr ""
-#: config/rs6000/rs6000.c:14001
+#: config/rs6000/rs6000.c:14094
#, c-format
msgid "invalid %%y value, try using the 'Z' constraint"
msgstr ""
-#: config/rs6000/rs6000.c:14845
+#: config/rs6000/rs6000.c:14962
msgid "Invalid mixing of IEEE 128-bit and IBM 128-bit floating point types"
msgstr ""
-#: config/rs6000/rs6000.c:23803
+#: config/rs6000/rs6000.c:23920
msgid "AltiVec argument passed to unprototyped function"
msgstr ""
-#: config/rs6000/rs6000.c:26952
+#: config/rs6000/rs6000.c:27071
msgid "Could not generate addis value for fusion"
msgstr ""
-#: config/rs6000/rs6000.c:27021
+#: config/rs6000/rs6000.c:27140
msgid "Unable to generate load/store offset for fusion"
msgstr ""
-#: config/rs6000/rs6000.c:27097
+#: config/rs6000/rs6000.c:27216
msgid "Bad GPR fusion"
msgstr ""
-#: config/rs6000/rs6000.c:27657
+#: config/rs6000/rs6000.c:27776
msgid "invalid conversion from type %<__vector_quad%>"
msgstr ""
-#: config/rs6000/rs6000.c:27659
+#: config/rs6000/rs6000.c:27778
msgid "invalid conversion to type %<__vector_quad%>"
msgstr ""
-#: config/rs6000/rs6000.c:27661
+#: config/rs6000/rs6000.c:27780
msgid "invalid conversion from type %<__vector_pair%>"
msgstr ""
-#: config/rs6000/rs6000.c:27663
+#: config/rs6000/rs6000.c:27782
msgid "invalid conversion to type %<__vector_pair%>"
msgstr ""
-#: config/rs6000/rs6000.c:27678
+#: config/rs6000/rs6000.c:27797
msgid "invalid conversion from type %<* __vector_quad%>"
msgstr ""
-#: config/rs6000/rs6000.c:27680
+#: config/rs6000/rs6000.c:27799
msgid "invalid conversion to type %<* __vector_quad%>"
msgstr ""
-#: config/rs6000/rs6000.c:27682
+#: config/rs6000/rs6000.c:27801
msgid "invalid conversion from type %<* __vector_pair%>"
msgstr ""
-#: config/rs6000/rs6000.c:27684
+#: config/rs6000/rs6000.c:27803
msgid "invalid conversion to type %<* __vector_pair%>"
msgstr ""
-#: config/s390/s390.c:7884
+#: config/s390/s390.c:7907
#, c-format
msgid "symbolic memory references are only supported on z10 or later"
msgstr ""
-#: config/s390/s390.c:7895
+#: config/s390/s390.c:7918
#, c-format
msgid "cannot decompose address"
msgstr ""
-#: config/s390/s390.c:7976
+#: config/s390/s390.c:7999
#, c-format
msgid "invalid comparison operator for 'E' output modifier"
msgstr ""
-#: config/s390/s390.c:7999
+#: config/s390/s390.c:8022
#, c-format
msgid "invalid reference for 'J' output modifier"
msgstr ""
-#: config/s390/s390.c:8017
+#: config/s390/s390.c:8040
#, c-format
msgid "invalid address for 'O' output modifier"
msgstr ""
-#: config/s390/s390.c:8039
+#: config/s390/s390.c:8062
#, c-format
msgid "invalid address for 'R' output modifier"
msgstr ""
-#: config/s390/s390.c:8057
+#: config/s390/s390.c:8080
#, c-format
msgid "memory reference expected for 'S' output modifier"
msgstr ""
-#: config/s390/s390.c:8067
+#: config/s390/s390.c:8090
#, c-format
msgid "invalid address for 'S' output modifier"
msgstr ""
-#: config/s390/s390.c:8088
+#: config/s390/s390.c:8111
#, c-format
msgid "register or memory expression expected for 'N' output modifier"
msgstr ""
-#: config/s390/s390.c:8099
+#: config/s390/s390.c:8122
#, c-format
msgid "register or memory expression expected for 'M' output modifier"
msgstr ""
-#: config/s390/s390.c:8185 config/s390/s390.c:8206
+#: config/s390/s390.c:8208 config/s390/s390.c:8229
#, c-format
msgid "invalid constant for output modifier '%c'"
msgstr ""
-#: config/s390/s390.c:8203
+#: config/s390/s390.c:8226
#, c-format
msgid "invalid constant - try using an output modifier"
msgstr ""
-#: config/s390/s390.c:8240
+#: config/s390/s390.c:8263
#, c-format
msgid "invalid constant vector for output modifier '%c'"
msgstr ""
-#: config/s390/s390.c:8247
+#: config/s390/s390.c:8270
#, c-format
msgid "invalid expression - try using an output modifier"
msgstr ""
-#: config/s390/s390.c:8250
+#: config/s390/s390.c:8273
#, c-format
msgid "invalid expression for output modifier '%c'"
msgstr ""
-#: config/s390/s390.c:12029
+#: config/s390/s390.c:12052
msgid "vector argument passed to unprototyped function"
msgstr ""
-#: config/s390/s390.c:16403
+#: config/s390/s390.c:16426
msgid "types differ in signedness"
msgstr ""
-#: config/s390/s390.c:16413
+#: config/s390/s390.c:16436
msgid "binary operator does not support two vector bool operands"
msgstr ""
-#: config/s390/s390.c:16416
+#: config/s390/s390.c:16439
msgid "binary operator does not support vector bool operand"
msgstr ""
-#: config/s390/s390.c:16424
+#: config/s390/s390.c:16447
msgid ""
"binary operator does not support mixing vector bool with floating point "
"vector operands"
@@ -3470,7 +3470,7 @@ msgstr ""
#: c/gimple-parser.c:2193 c/gimple-parser.c:2230 c/gimple-parser.c:2309
#: c/gimple-parser.c:2336 c/c-parser.c:3274 c/c-parser.c:3461 c/c-parser.c:3494
#: c/c-parser.c:11268 c/gimple-parser.c:2027 c/gimple-parser.c:2066
-#: cp/parser.c:14380 cp/parser.c:31016 cp/parser.c:31626
+#: cp/parser.c:14404 cp/parser.c:31070 cp/parser.c:31680
#, gcc-internal-format
msgid "expected %<;%>"
msgstr ""
@@ -3490,7 +3490,7 @@ msgstr ""
#: c/gimple-parser.c:1470 c/gimple-parser.c:1492 c/gimple-parser.c:1522
#: c/gimple-parser.c:1548 c/gimple-parser.c:1756 c/gimple-parser.c:1949
#: c/gimple-parser.c:1969 c/gimple-parser.c:2103 c/gimple-parser.c:2266
-#: c/c-parser.c:7110 cp/parser.c:31674
+#: c/c-parser.c:7110 cp/parser.c:31728
#, gcc-internal-format
msgid "expected %<)%>"
msgstr ""
@@ -3498,7 +3498,7 @@ msgstr ""
#: c/c-parser.c:4103 c/c-parser.c:4835 c/c-parser.c:4976 c/c-parser.c:5002
#: c/c-parser.c:5003 c/c-parser.c:5417 c/c-parser.c:5453 c/c-parser.c:7209
#: c/c-parser.c:9233 c/c-parser.c:10123 c/c-parser.c:10412 c/c-parser.c:13085
-#: c/gimple-parser.c:1733 cp/parser.c:31638
+#: c/gimple-parser.c:1733 cp/parser.c:31692
#, gcc-internal-format
msgid "expected %<]%>"
msgstr ""
@@ -3516,21 +3516,21 @@ msgstr ""
#: c/gimple-parser.c:1428 c/gimple-parser.c:1488 c/gimple-parser.c:1506
#: c/gimple-parser.c:1541 c/gimple-parser.c:1918 c/gimple-parser.c:1929
#: c/gimple-parser.c:1935 c/gimple-parser.c:2100 c/gimple-parser.c:2263
-#: c/c-parser.c:13443 cp/parser.c:31629
+#: c/c-parser.c:13443 cp/parser.c:31683
#, gcc-internal-format
msgid "expected %<(%>"
msgstr ""
-#: c/c-parser.c:4972 c/c-parser.c:4974 c/c-parser.c:13013 cp/parser.c:31641
-#: cp/parser.c:35326
+#: c/c-parser.c:4972 c/c-parser.c:4974 c/c-parser.c:13013 cp/parser.c:31695
+#: cp/parser.c:35379
#, gcc-internal-format
msgid "expected %<[%>"
msgstr ""
#: c/c-parser.c:5588 c/c-parser.c:11611 c/c-parser.c:18127 c/c-parser.c:18941
#: c/c-parser.c:22005 c/gimple-parser.c:385 c/gimple-parser.c:2269
-#: c/c-parser.c:3262 c/c-parser.c:3484 c/c-parser.c:11163 cp/parser.c:19941
-#: cp/parser.c:31635
+#: c/c-parser.c:3262 c/c-parser.c:3484 c/c-parser.c:11163 cp/parser.c:19978
+#: cp/parser.c:31689
#, gcc-internal-format
msgid "expected %<{%>"
msgstr ""
@@ -3541,13 +3541,13 @@ msgstr ""
#: c/c-parser.c:15155 c/c-parser.c:15468 c/c-parser.c:15595 c/c-parser.c:20368
#: c/c-parser.c:21010 c/c-parser.c:21069 c/gimple-parser.c:568
#: c/gimple-parser.c:872 c/gimple-parser.c:2317 c/gimple-parser.c:2344
-#: c/c-parser.c:7117 c/c-parser.c:13546 c/c-parser.c:14793 cp/parser.c:31668
-#: cp/parser.c:33316 cp/parser.c:36125 cp/parser.c:36909
+#: c/c-parser.c:7117 c/c-parser.c:13546 c/c-parser.c:14793 cp/parser.c:31722
+#: cp/parser.c:33370 cp/parser.c:36178 cp/parser.c:36962
#, gcc-internal-format
msgid "expected %<:%>"
msgstr ""
-#: c/c-parser.c:6667 cp/parser.c:31555
+#: c/c-parser.c:6667 cp/parser.c:31609
#, gcc-internal-format
msgid "expected %<while%>"
msgstr ""
@@ -3556,7 +3556,7 @@ msgstr ""
#: c/c-parser.c:9304 c/c-parser.c:10015 c/c-parser.c:14374 c/c-parser.c:15551
#: c/gimple-parser.c:1022 c/gimple-parser.c:1048 c/gimple-parser.c:1176
#: c/gimple-parser.c:1179 c/gimple-parser.c:1510 c/gimple-parser.c:1516
-#: cp/parser.c:31014 cp/parser.c:31644
+#: cp/parser.c:31068 cp/parser.c:31698
#, gcc-internal-format
msgid "expected %<,%>"
msgstr ""
@@ -3565,18 +3565,18 @@ msgstr ""
msgid "expected %<.%>"
msgstr ""
-#: c/c-parser.c:10834 c/c-parser.c:10866 c/c-parser.c:11106 cp/parser.c:33890
-#: cp/parser.c:33911
+#: c/c-parser.c:10834 c/c-parser.c:10866 c/c-parser.c:11106 cp/parser.c:33944
+#: cp/parser.c:33965
#, gcc-internal-format
msgid "expected %<@end%>"
msgstr ""
-#: c/c-parser.c:11524 c/gimple-parser.c:1346 cp/parser.c:31653
+#: c/c-parser.c:11524 c/gimple-parser.c:1346 cp/parser.c:31707
#, gcc-internal-format
msgid "expected %<>%>"
msgstr ""
-#: c/c-parser.c:14882 c/c-parser.c:15832 cp/parser.c:31677
+#: c/c-parser.c:14882 c/c-parser.c:15832 cp/parser.c:31731
#, gcc-internal-format
msgid "expected %<,%> or %<)%>"
msgstr ""
@@ -3584,28 +3584,28 @@ msgstr ""
#. All following cases are statements with LHS.
#: c/c-parser.c:15460 c/c-parser.c:17592 c/c-parser.c:17636 c/c-parser.c:17868
#: c/c-parser.c:18311 c/c-parser.c:20575 c/c-parser.c:21207
-#: c/gimple-parser.c:726 c/c-parser.c:5476 cp/parser.c:31656
+#: c/gimple-parser.c:726 c/c-parser.c:5476 cp/parser.c:31710
#, gcc-internal-format
msgid "expected %<=%>"
msgstr ""
#: c/c-parser.c:17884 c/c-parser.c:18175 c/gimple-parser.c:1564
#: c/gimple-parser.c:1596 c/gimple-parser.c:1606 c/gimple-parser.c:2354
-#: cp/parser.c:31632 cp/parser.c:34100
+#: cp/parser.c:31686 cp/parser.c:34154
#, gcc-internal-format
msgid "expected %<}%>"
msgstr ""
-#: c/c-parser.c:18984 c/c-parser.c:18974 cp/parser.c:40913
+#: c/c-parser.c:18984 c/c-parser.c:18974 cp/parser.c:40966
#, gcc-internal-format
msgid "expected %<#pragma omp section%> or %<}%>"
msgstr ""
-#: c/c-typeck.c:8370
+#: c/c-typeck.c:8430
msgid "(anonymous)"
msgstr ""
-#: c/gimple-parser.c:1335 cp/parser.c:17360 cp/parser.c:31650
+#: c/gimple-parser.c:1335 cp/parser.c:17388 cp/parser.c:31704
#, gcc-internal-format
msgid "expected %<<%>"
msgstr ""
@@ -3620,29 +3620,29 @@ msgstr ""
msgid "candidate:"
msgstr ""
-#: cp/call.c:7407
+#: cp/call.c:7411
msgid " after user-defined conversion:"
msgstr ""
-#: cp/call.c:7545 cp/pt.c:2044 cp/pt.c:25058
+#: cp/call.c:7549 cp/pt.c:2046 cp/pt.c:25151
msgid "candidate is:"
msgid_plural "candidates are:"
msgstr[0] ""
msgstr[1] ""
-#: cp/call.c:12092
+#: cp/call.c:12113
msgid "candidate 1:"
msgstr ""
-#: cp/call.c:12093
+#: cp/call.c:12114
msgid "candidate 2:"
msgstr ""
-#: cp/decl.c:3392
+#: cp/decl.c:3374
msgid "jump to label %qD"
msgstr ""
-#: cp/decl.c:3393
+#: cp/decl.c:3375
msgid "jump to case label"
msgstr ""
@@ -3865,27 +3865,27 @@ msgstr ""
msgid "local variable %qD may not appear in this context"
msgstr ""
-#: cp/parser.c:20737
+#: cp/parser.c:20774
msgid "%<using enum%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
msgstr ""
-#: cp/parser.c:20740
+#: cp/parser.c:20777
msgid "%<using enum%> of dependent type %qT"
msgstr ""
-#: cp/parser.c:20742
+#: cp/parser.c:20779
msgid "%<using enum%> of non-enumeration type %q#T"
msgstr ""
-#: cp/parser.c:20744
+#: cp/parser.c:20781
msgid "%<using enum%> of incomplete type %qT"
msgstr ""
-#: cp/parser.c:20746
+#: cp/parser.c:20783
msgid "%<using enum%> of %qT before its enum-specifier"
msgstr ""
-#: cp/pt.c:2042 cp/semantics.c:5713
+#: cp/pt.c:2044 cp/semantics.c:5741
msgid "candidates are:"
msgstr ""
@@ -3929,48 +3929,48 @@ msgstr ""
msgid "source type is not polymorphic"
msgstr ""
-#: cp/typeck.c:6633 c/c-typeck.c:4406
+#: cp/typeck.c:6644 c/c-typeck.c:4466
#, gcc-internal-format
msgid "wrong type argument to unary minus"
msgstr ""
-#: cp/typeck.c:6634 c/c-typeck.c:4393
+#: cp/typeck.c:6645 c/c-typeck.c:4453
#, gcc-internal-format
msgid "wrong type argument to unary plus"
msgstr ""
-#: cp/typeck.c:6661 c/c-typeck.c:4450
+#: cp/typeck.c:6672 c/c-typeck.c:4510
#, gcc-internal-format
msgid "wrong type argument to bit-complement"
msgstr ""
-#: cp/typeck.c:6678 c/c-typeck.c:4458
+#: cp/typeck.c:6689 c/c-typeck.c:4518
#, gcc-internal-format
msgid "wrong type argument to abs"
msgstr ""
-#: cp/typeck.c:6690 c/c-typeck.c:4480
+#: cp/typeck.c:6701 c/c-typeck.c:4540
#, gcc-internal-format
msgid "wrong type argument to conjugation"
msgstr ""
-#: cp/typeck.c:6708
+#: cp/typeck.c:6719
msgid "in argument to unary !"
msgstr ""
-#: cp/typeck.c:6754
+#: cp/typeck.c:6765
msgid "no pre-increment operator for type"
msgstr ""
-#: cp/typeck.c:6756
+#: cp/typeck.c:6767
msgid "no post-increment operator for type"
msgstr ""
-#: cp/typeck.c:6758
+#: cp/typeck.c:6769
msgid "no pre-decrement operator for type"
msgstr ""
-#: cp/typeck.c:6760
+#: cp/typeck.c:6771
msgid "no post-decrement operator for type"
msgstr ""
@@ -4073,7 +4073,7 @@ msgstr ""
msgid "Driving:"
msgstr ""
-#: fortran/interface.c:3421 fortran/intrinsic.c:4498
+#: fortran/interface.c:3427 fortran/intrinsic.c:4498
msgid "actual argument to INTENT = OUT/INOUT"
msgstr ""
@@ -4203,7 +4203,7 @@ msgstr ""
msgid "Bad type in constant expression"
msgstr ""
-#: fortran/module.c:7303
+#: fortran/module.c:7314
msgid "Unexpected end of module"
msgstr ""
@@ -4231,11 +4231,11 @@ msgstr ""
msgid "implied END DO"
msgstr ""
-#: fortran/parse.c:2139 fortran/resolve.c:11928
+#: fortran/parse.c:2139 fortran/resolve.c:11936
msgid "assignment"
msgstr ""
-#: fortran/parse.c:2142 fortran/resolve.c:11980 fortran/resolve.c:11983
+#: fortran/parse.c:2142 fortran/resolve.c:11988 fortran/resolve.c:11991
msgid "pointer assignment"
msgstr ""
@@ -4321,162 +4321,162 @@ msgstr ""
msgid "bind(c) procedure"
msgstr ""
-#: fortran/resolve.c:4050
+#: fortran/resolve.c:4052
#, c-format
msgid "Invalid context for NULL() pointer at %%L"
msgstr ""
-#: fortran/resolve.c:4066
+#: fortran/resolve.c:4069
#, c-format
msgid "Operand of unary numeric operator %%<%s%%> at %%L is %s"
msgstr ""
-#: fortran/resolve.c:4083
+#: fortran/resolve.c:4086
#, c-format
msgid ""
"Unexpected derived-type entities in binary intrinsic numeric operator %%<%s"
"%%> at %%L"
msgstr ""
-#: fortran/resolve.c:4088
+#: fortran/resolve.c:4091
#, c-format
msgid "Operands of binary numeric operator %%<%s%%> at %%L are %s/%s"
msgstr ""
-#: fortran/resolve.c:4103
+#: fortran/resolve.c:4106
#, c-format
msgid "Operands of string concatenation operator at %%L are %s/%s"
msgstr ""
-#: fortran/resolve.c:4145
+#: fortran/resolve.c:4149
#, c-format
msgid "Operands of logical operator %%<%s%%> at %%L are %s/%s"
msgstr ""
-#: fortran/resolve.c:4168
+#: fortran/resolve.c:4172
#, c-format
msgid "Operand of .not. operator at %%L is %s"
msgstr ""
-#: fortran/resolve.c:4182
+#: fortran/resolve.c:4186
msgid "COMPLEX quantities cannot be compared at %L"
msgstr ""
-#: fortran/resolve.c:4280
+#: fortran/resolve.c:4284
#, c-format
msgid "Logicals at %%L must be compared with %s instead of %s"
msgstr ""
-#: fortran/resolve.c:4286
+#: fortran/resolve.c:4290
#, c-format
msgid "Operands of comparison operator %%<%s%%> at %%L are %s/%s"
msgstr ""
-#: fortran/resolve.c:4299
+#: fortran/resolve.c:4304
#, c-format
msgid "Unknown operator %%<%s%%> at %%L; did you mean '%s'?"
msgstr ""
-#: fortran/resolve.c:4302
+#: fortran/resolve.c:4307
#, c-format
msgid "Unknown operator %%<%s%%> at %%L"
msgstr ""
-#: fortran/resolve.c:4305
+#: fortran/resolve.c:4312
#, c-format
msgid "Operand of user operator %%<%s%%> at %%L is %s"
msgstr ""
-#: fortran/resolve.c:4309
+#: fortran/resolve.c:4317
#, c-format
msgid "Operands of user operator %%<%s%%> at %%L are %s/%s"
msgstr ""
-#: fortran/resolve.c:4395
+#: fortran/resolve.c:4403
#, c-format
msgid "Inconsistent ranks for operator at %%L and %%L"
msgstr ""
-#: fortran/resolve.c:7234
+#: fortran/resolve.c:7242
msgid "Loop variable"
msgstr ""
-#: fortran/resolve.c:7238
+#: fortran/resolve.c:7246
msgid "iterator variable"
msgstr ""
-#: fortran/resolve.c:7242
+#: fortran/resolve.c:7250
msgid "Start expression in DO loop"
msgstr ""
-#: fortran/resolve.c:7246
+#: fortran/resolve.c:7254
msgid "End expression in DO loop"
msgstr ""
-#: fortran/resolve.c:7250
+#: fortran/resolve.c:7258
msgid "Step expression in DO loop"
msgstr ""
-#: fortran/resolve.c:7536 fortran/resolve.c:7539
+#: fortran/resolve.c:7544 fortran/resolve.c:7547
msgid "DEALLOCATE object"
msgstr ""
-#: fortran/resolve.c:7916 fortran/resolve.c:7919
+#: fortran/resolve.c:7924 fortran/resolve.c:7927
msgid "ALLOCATE object"
msgstr ""
-#: fortran/resolve.c:8152 fortran/resolve.c:10105
+#: fortran/resolve.c:8160 fortran/resolve.c:10113
msgid "STAT variable"
msgstr ""
-#: fortran/resolve.c:8196 fortran/resolve.c:10117
+#: fortran/resolve.c:8204 fortran/resolve.c:10125
msgid "ERRMSG variable"
msgstr ""
-#: fortran/resolve.c:9911
+#: fortran/resolve.c:9919
msgid "item in READ"
msgstr ""
-#: fortran/resolve.c:10129
+#: fortran/resolve.c:10137
msgid "ACQUIRED_LOCK variable"
msgstr ""
-#: fortran/trans-array.c:1750
+#: fortran/trans-array.c:1778
#, c-format
msgid "Different CHARACTER lengths (%ld/%ld) in array constructor"
msgstr ""
-#: fortran/trans-array.c:6023
+#: fortran/trans-array.c:5990
msgid "Integer overflow when calculating the amount of memory to allocate"
msgstr ""
-#: fortran/trans-array.c:9788
+#: fortran/trans-array.c:9755
#, c-format
msgid ""
"The value of the PDT LEN parameter '%s' does not agree with that in the "
"dummy declaration"
msgstr ""
-#: fortran/trans-decl.c:6235
+#: fortran/trans-decl.c:6240
#, c-format
msgid ""
"Actual string length does not match the declared one for dummy argument "
"'%s' (%ld/%ld)"
msgstr ""
-#: fortran/trans-decl.c:6243
+#: fortran/trans-decl.c:6248
#, c-format
msgid ""
"Actual string length is shorter than the declared one for dummy argument "
"'%s' (%ld/%ld)"
msgstr ""
-#: fortran/trans-expr.c:9796
+#: fortran/trans-expr.c:9845
#, c-format
msgid "Target of rank remapping is too small (%ld < %ld)"
msgstr ""
-#: fortran/trans-expr.c:11270
+#: fortran/trans-expr.c:11322
msgid "Assignment of scalar to unallocated array"
msgstr ""
@@ -4601,26 +4601,26 @@ msgstr ""
msgid "Incorrect function return value"
msgstr ""
-#: fortran/trans.c:714 fortran/trans.c:789
+#: fortran/trans.c:724 fortran/trans.c:799
#, c-format
msgid "Error allocating %lu bytes"
msgstr ""
-#: fortran/trans.c:998
+#: fortran/trans.c:1008
#, c-format
msgid "Attempting to allocate already allocated variable '%s'"
msgstr ""
-#: fortran/trans.c:1004
+#: fortran/trans.c:1014
msgid "Attempting to allocate already allocated variable"
msgstr ""
-#: fortran/trans.c:1454 fortran/trans.c:1613
+#: fortran/trans.c:1464 fortran/trans.c:1623
#, c-format
msgid "Attempt to DEALLOCATE unallocated '%s'"
msgstr ""
-#: fortran/trans.c:1771
+#: fortran/trans.c:1781
#, c-format
msgid "Error reallocating to %lu bytes"
msgstr ""
@@ -4814,15 +4814,15 @@ msgstr ""
msgid "consider using `-pg' instead of `-p' with gprof (1)"
msgstr ""
-#: config/arc/arc.h:68 config/mips/mips.h:1452
+#: config/arc/arc.h:68 config/mips/mips.h:1453
msgid "may not use both -EB and -EL"
msgstr ""
-#: config/arm/arm.h:93
+#: config/arm/arm.h:94
msgid "-mfloat-abi=soft and -mfloat-abi=hard may not be used together"
msgstr ""
-#: config/arm/arm.h:95 config/tilegx/tilegx.h:520 config/tilegx/tilegx.h:525
+#: config/arm/arm.h:96 config/tilegx/tilegx.h:520 config/tilegx/tilegx.h:525
msgid "-mbig-endian and -mlittle-endian may not be used together"
msgstr ""
@@ -4838,8 +4838,8 @@ msgstr ""
msgid "do not specify both -march=... and -mcpu=..."
msgstr ""
-#: config/i386/cygwin-w64.h:64 config/i386/cygwin.h:129
-#: config/i386/mingw-w64.h:95 config/i386/mingw32.h:141
+#: config/i386/cygwin-w64.h:64 config/i386/cygwin.h:138
+#: config/i386/mingw-w64.h:95 config/i386/mingw32.h:153
msgid "shared and mdll are not compatible"
msgstr ""
@@ -4999,10 +4999,10 @@ msgid "Warn about creation of array temporaries."
msgstr ""
#: fortran/lang.opt:214 fortran/lang.opt:522 config/alpha/alpha.opt:31
-#: common.opt:653 common.opt:791 common.opt:1017 common.opt:1021
-#: common.opt:1025 common.opt:1029 common.opt:1679 common.opt:1735
-#: common.opt:1874 common.opt:1878 common.opt:2116 common.opt:2330
-#: common.opt:3046
+#: common.opt:653 common.opt:791 common.opt:1021 common.opt:1025
+#: common.opt:1029 common.opt:1033 common.opt:1683 common.opt:1739
+#: common.opt:1878 common.opt:1882 common.opt:2120 common.opt:2334
+#: common.opt:3050
#, no-c-format
msgid "Does nothing. Preserved for backward compatibility."
msgstr ""
@@ -5503,165 +5503,165 @@ msgstr ""
msgid "Set default accessibility of module entities to PRIVATE."
msgstr ""
-#: fortran/lang.opt:708
+#: fortran/lang.opt:704
#, no-c-format
msgid "Try to lay out derived types as compactly as possible."
msgstr ""
-#: fortran/lang.opt:716
+#: fortran/lang.opt:712
#, no-c-format
msgid "Protect parentheses in expressions."
msgstr ""
-#: fortran/lang.opt:720
+#: fortran/lang.opt:716
#, no-c-format
msgid ""
"Path to header file that should be pre-included before each compilation unit."
msgstr ""
-#: fortran/lang.opt:724
+#: fortran/lang.opt:720
#, no-c-format
msgid "Enable range checking during compilation."
msgstr ""
-#: fortran/lang.opt:728
+#: fortran/lang.opt:724
#, no-c-format
msgid "Interpret any REAL(4) as a REAL(8)."
msgstr ""
-#: fortran/lang.opt:732
+#: fortran/lang.opt:728
#, no-c-format
msgid "Interpret any REAL(4) as a REAL(10)."
msgstr ""
-#: fortran/lang.opt:736
+#: fortran/lang.opt:732
#, no-c-format
msgid "Interpret any REAL(4) as a REAL(16)."
msgstr ""
-#: fortran/lang.opt:740
+#: fortran/lang.opt:736
#, no-c-format
msgid "Interpret any REAL(8) as a REAL(4)."
msgstr ""
-#: fortran/lang.opt:744
+#: fortran/lang.opt:740
#, no-c-format
msgid "Interpret any REAL(8) as a REAL(10)."
msgstr ""
-#: fortran/lang.opt:748
+#: fortran/lang.opt:744
#, no-c-format
msgid "Interpret any REAL(8) as a REAL(16)."
msgstr ""
-#: fortran/lang.opt:752
+#: fortran/lang.opt:748
#, no-c-format
msgid "Reallocate the LHS in assignments."
msgstr ""
-#: fortran/lang.opt:756
+#: fortran/lang.opt:752
#, no-c-format
msgid "Use a 4-byte record marker for unformatted files."
msgstr ""
-#: fortran/lang.opt:760
+#: fortran/lang.opt:756
#, no-c-format
msgid "Use an 8-byte record marker for unformatted files."
msgstr ""
-#: fortran/lang.opt:764
+#: fortran/lang.opt:760
#, no-c-format
msgid "Allocate local variables on the stack to allow indirect recursion."
msgstr ""
-#: fortran/lang.opt:768
+#: fortran/lang.opt:764
#, no-c-format
msgid "Copy array sections into a contiguous block on procedure entry."
msgstr ""
-#: fortran/lang.opt:772
+#: fortran/lang.opt:768
#, no-c-format
msgid ""
"-fcoarray=<none|single|lib>\tSpecify which coarray parallelization should be "
"used."
msgstr ""
-#: fortran/lang.opt:788
+#: fortran/lang.opt:784
#, no-c-format
msgid "-fcheck=[...]\tSpecify which runtime checks are to be performed."
msgstr ""
-#: fortran/lang.opt:792
+#: fortran/lang.opt:788
#, no-c-format
msgid "Append a second underscore if the name already contains an underscore."
msgstr ""
-#: fortran/lang.opt:800
+#: fortran/lang.opt:796
#, no-c-format
msgid "Apply negative sign to zero values."
msgstr ""
-#: fortran/lang.opt:807
+#: fortran/lang.opt:803
#, no-c-format
msgid ""
"Disallow tail call optimization when a calling routine may have omitted "
"character lengths."
msgstr ""
-#: fortran/lang.opt:811
+#: fortran/lang.opt:807
#, no-c-format
msgid "Append underscores to externally visible names."
msgstr ""
-#: fortran/lang.opt:815 c-family/c.opt:1539 c-family/c.opt:1571
-#: c-family/c.opt:1579 c-family/c.opt:1903 config/pa/pa.opt:42
-#: config/pa/pa.opt:74 common.opt:615 common.opt:1099 common.opt:1103
-#: common.opt:1107 common.opt:1194 common.opt:1471 common.opt:1550
-#: common.opt:1826 common.opt:1965 common.opt:2008 common.opt:2405
-#: common.opt:2441 common.opt:2534 common.opt:2538 common.opt:2647
-#: common.opt:2738 common.opt:2746 common.opt:2754 common.opt:2762
-#: common.opt:2863 common.opt:2919 common.opt:3007 common.opt:3151
-#: common.opt:3155 common.opt:3159 common.opt:3163
+#: fortran/lang.opt:811 c-family/c.opt:1539 c-family/c.opt:1571
+#: c-family/c.opt:1579 c-family/c.opt:1890 config/pa/pa.opt:42
+#: config/pa/pa.opt:74 common.opt:615 common.opt:1103 common.opt:1107
+#: common.opt:1111 common.opt:1198 common.opt:1475 common.opt:1554
+#: common.opt:1830 common.opt:1969 common.opt:2012 common.opt:2409
+#: common.opt:2445 common.opt:2538 common.opt:2542 common.opt:2651
+#: common.opt:2742 common.opt:2750 common.opt:2758 common.opt:2766
+#: common.opt:2867 common.opt:2923 common.opt:3011 common.opt:3155
+#: common.opt:3159 common.opt:3163 common.opt:3167
#, no-c-format
msgid "Does nothing. Preserved for backward compatibility."
msgstr ""
-#: fortran/lang.opt:855
+#: fortran/lang.opt:851
#, no-c-format
msgid "Statically link the GNU Fortran helper library (libgfortran)."
msgstr ""
-#: fortran/lang.opt:859
+#: fortran/lang.opt:855
#, no-c-format
msgid "Conform to the ISO Fortran 2003 standard."
msgstr ""
-#: fortran/lang.opt:863
+#: fortran/lang.opt:859
#, no-c-format
msgid "Conform to the ISO Fortran 2008 standard."
msgstr ""
-#: fortran/lang.opt:867
+#: fortran/lang.opt:863
#, no-c-format
msgid "Conform to the ISO Fortran 2008 standard including TS 29113."
msgstr ""
-#: fortran/lang.opt:871
+#: fortran/lang.opt:867
#, no-c-format
msgid "Conform to the ISO Fortran 2018 standard."
msgstr ""
-#: fortran/lang.opt:875
+#: fortran/lang.opt:871
#, no-c-format
msgid "Conform to the ISO Fortran 95 standard."
msgstr ""
-#: fortran/lang.opt:879
+#: fortran/lang.opt:875
#, no-c-format
msgid "Conform to nothing in particular."
msgstr ""
-#: fortran/lang.opt:883
+#: fortran/lang.opt:879
#, no-c-format
msgid "Accept extensions to support legacy code."
msgstr ""
@@ -6424,7 +6424,7 @@ msgstr ""
#, no-c-format
msgid ""
"Warn for mismatches between calls to operator new or delete and the "
-"corrsponding call to the allocation or deallocation function."
+"corresponding call to the allocation or deallocation function."
msgstr ""
#: c-family/c.opt:808
@@ -7127,8 +7127,8 @@ msgstr ""
msgid "Allow variadic functions without named parameter."
msgstr ""
-#: c-family/c.opt:1408 c-family/c.opt:1672 c-family/c.opt:2068
-#: c-family/c.opt:2072 c-family/c.opt:2088
+#: c-family/c.opt:1408 c-family/c.opt:1672 c-family/c.opt:2055
+#: c-family/c.opt:2059 c-family/c.opt:2075
#, no-c-format
msgid "No longer supported."
msgstr ""
@@ -7521,516 +7521,509 @@ msgstr ""
#: c-family/c.opt:1878
#, no-c-format
-msgid ""
-"-fopenacc-kernels=[decompose|parloops]\tSpecify mode of OpenACC 'kernels' "
-"constructs handling."
-msgstr ""
-
-#: c-family/c.opt:1891
-#, no-c-format
msgid "Enable OpenMP (implies -frecursive in Fortran)."
msgstr ""
-#: c-family/c.opt:1895
+#: c-family/c.opt:1882
#, no-c-format
msgid "Enable OpenMP's SIMD directives."
msgstr ""
-#: c-family/c.opt:1899
+#: c-family/c.opt:1886
#, no-c-format
msgid "Recognize C++ keywords like \"compl\" and \"xor\"."
msgstr ""
-#: c-family/c.opt:1910
+#: c-family/c.opt:1897
#, no-c-format
msgid "Look for and use PCH files even when preprocessing."
msgstr ""
-#: c-family/c.opt:1914
+#: c-family/c.opt:1901
#, no-c-format
msgid "Downgrade conformance errors to warnings."
msgstr ""
-#: c-family/c.opt:1918
+#: c-family/c.opt:1905
#, no-c-format
msgid "Enable Plan 9 language extensions."
msgstr ""
-#: c-family/c.opt:1922
+#: c-family/c.opt:1909
#, no-c-format
msgid "Treat the input file as already preprocessed."
msgstr ""
-#: c-family/c.opt:1930
+#: c-family/c.opt:1917
#, 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:1934
+#: c-family/c.opt:1921
#, no-c-format
msgid ""
"Do not pretty-print template specializations as the template signature "
"followed by the arguments."
msgstr ""
-#: c-family/c.opt:1938
+#: c-family/c.opt:1925
#, no-c-format
msgid "Treat known sprintf return values as constants."
msgstr ""
-#: c-family/c.opt:1942
+#: c-family/c.opt:1929
#, 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:1946
+#: c-family/c.opt:1933
#, no-c-format
msgid "Removed in GCC 10. This switch has no effect."
msgstr ""
-#: c-family/c.opt:1950
+#: c-family/c.opt:1937
#, no-c-format
msgid "Generate run time type descriptor information."
msgstr ""
-#: c-family/c.opt:1954 ada/gcc-interface/lang.opt:81
+#: c-family/c.opt:1941 ada/gcc-interface/lang.opt:81
#, no-c-format
msgid "Use the narrowest integer type possible for enumeration types."
msgstr ""
-#: c-family/c.opt:1958
+#: c-family/c.opt:1945
#, no-c-format
msgid "Force the underlying type for \"wchar_t\" to be \"unsigned short\"."
msgstr ""
-#: c-family/c.opt:1962
+#: c-family/c.opt:1949
#, no-c-format
msgid "When \"signed\" or \"unsigned\" is not given make the bitfield signed."
msgstr ""
-#: c-family/c.opt:1966 ada/gcc-interface/lang.opt:85
+#: c-family/c.opt:1953 ada/gcc-interface/lang.opt:85
#, no-c-format
msgid "Make \"char\" signed by default."
msgstr ""
-#: c-family/c.opt:1970
+#: c-family/c.opt:1957
#, no-c-format
msgid "Enable C++14 sized deallocation support."
msgstr ""
-#: c-family/c.opt:1977
+#: c-family/c.opt:1964
#, no-c-format
msgid ""
"-fsso-struct=[big-endian|little-endian|native]\tSet the default scalar "
"storage order."
msgstr ""
-#: c-family/c.opt:1993
+#: c-family/c.opt:1980
#, no-c-format
msgid "Display statistics accumulated during compilation."
msgstr ""
-#: c-family/c.opt:1997
+#: c-family/c.opt:1984
#, no-c-format
msgid ""
"Assume that values of enumeration type are always within the minimum range "
"of that type."
msgstr ""
-#: c-family/c.opt:2004 c-family/c.opt:2009
+#: c-family/c.opt:1991 c-family/c.opt:1996
#, no-c-format
msgid ""
"Follow the C++17 evaluation order requirements for assignment expressions, "
"shift, member function calls, etc."
msgstr ""
-#: c-family/c.opt:2026
+#: c-family/c.opt:2013
#, no-c-format
msgid ""
"Set the maximum number of template instantiation notes for a single warning "
"or error."
msgstr ""
-#: c-family/c.opt:2033
+#: c-family/c.opt:2020
#, no-c-format
msgid ""
"-ftemplate-depth=<number>\tSpecify maximum template instantiation depth."
msgstr ""
-#: c-family/c.opt:2040
+#: c-family/c.opt:2027
#, no-c-format
msgid ""
"-fno-threadsafe-statics\tDo not generate thread-safe code for initializing "
"local statics."
msgstr ""
-#: c-family/c.opt:2044
+#: c-family/c.opt:2031
#, no-c-format
msgid ""
"When \"signed\" or \"unsigned\" is not given make the bitfield unsigned."
msgstr ""
-#: c-family/c.opt:2048 ada/gcc-interface/lang.opt:89
+#: c-family/c.opt:2035 ada/gcc-interface/lang.opt:89
#, no-c-format
msgid "Make \"char\" unsigned by default."
msgstr ""
-#: c-family/c.opt:2052
+#: c-family/c.opt:2039
#, no-c-format
msgid "Use __cxa_atexit to register destructors."
msgstr ""
-#: c-family/c.opt:2056
+#: c-family/c.opt:2043
#, no-c-format
msgid "Use __cxa_get_exception_ptr in exception handling."
msgstr ""
-#: c-family/c.opt:2060
+#: c-family/c.opt:2047
#, no-c-format
msgid "Marks all inlined functions and methods as having hidden visibility."
msgstr ""
-#: c-family/c.opt:2064
+#: c-family/c.opt:2051
#, no-c-format
msgid "Changes visibility to match Microsoft Visual Studio by default."
msgstr ""
-#: c-family/c.opt:2076 d/lang.opt:326
+#: c-family/c.opt:2063
#, no-c-format
msgid "Emit common-like symbols as weak symbols."
msgstr ""
-#: c-family/c.opt:2080
+#: c-family/c.opt:2067
#, no-c-format
msgid ""
"-fwide-exec-charset=<cset>\tConvert all wide strings and character constants "
"to character set <cset>."
msgstr ""
-#: c-family/c.opt:2084
+#: c-family/c.opt:2071
#, no-c-format
msgid "Generate a #line directive pointing at the current working directory."
msgstr ""
-#: c-family/c.opt:2092
+#: c-family/c.opt:2079
#, no-c-format
msgid ""
"Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode."
msgstr ""
-#: c-family/c.opt:2096
+#: c-family/c.opt:2083
#, no-c-format
msgid "Dump declarations to a .decl file."
msgstr ""
-#: c-family/c.opt:2100
+#: c-family/c.opt:2087
#, no-c-format
msgid ""
"-femit-struct-debug-baseonly\tAggressive reduced debug info for structs."
msgstr ""
-#: c-family/c.opt:2104
+#: c-family/c.opt:2091
#, no-c-format
msgid ""
"-femit-struct-debug-reduced\tConservative reduced debug info for structs."
msgstr ""
-#: c-family/c.opt:2108
+#: c-family/c.opt:2095
#, no-c-format
msgid ""
"-femit-struct-debug-detailed=<spec-list>\tDetailed reduced debug info for "
"structs."
msgstr ""
-#: c-family/c.opt:2112
+#: c-family/c.opt:2099
#, 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:2117
+#: c-family/c.opt:2104
#, no-c-format
msgid "-idirafter <dir>\tAdd <dir> to the end of the system include path."
msgstr ""
-#: c-family/c.opt:2121
+#: c-family/c.opt:2108
#, no-c-format
msgid "-imacros <file>\tAccept definition of macros in <file>."
msgstr ""
-#: c-family/c.opt:2125
+#: c-family/c.opt:2112
#, no-c-format
msgid "-imultilib <dir>\tSet <dir> to be the multilib include subdirectory."
msgstr ""
-#: c-family/c.opt:2129
+#: c-family/c.opt:2116
#, no-c-format
msgid "-include <file>\tInclude the contents of <file> before other files."
msgstr ""
-#: c-family/c.opt:2133
+#: c-family/c.opt:2120
#, no-c-format
msgid "-iprefix <path>\tSpecify <path> as a prefix for next two options."
msgstr ""
-#: c-family/c.opt:2137
+#: c-family/c.opt:2124
#, no-c-format
msgid "-isysroot <dir>\tSet <dir> to be the system root directory."
msgstr ""
-#: c-family/c.opt:2141
+#: c-family/c.opt:2128
#, no-c-format
msgid "-isystem <dir>\tAdd <dir> to the start of the system include path."
msgstr ""
-#: c-family/c.opt:2145
+#: c-family/c.opt:2132
#, no-c-format
msgid "-iquote <dir>\tAdd <dir> to the end of the quote include path."
msgstr ""
-#: c-family/c.opt:2149
+#: c-family/c.opt:2136
#, no-c-format
msgid "-iwithprefix <dir>\tAdd <dir> to the end of the system include path."
msgstr ""
-#: c-family/c.opt:2153
+#: c-family/c.opt:2140
#, no-c-format
msgid ""
"-iwithprefixbefore <dir>\tAdd <dir> to the end of the main include path."
msgstr ""
-#: c-family/c.opt:2163
+#: c-family/c.opt:2150
#, no-c-format
msgid ""
"Do not search standard system include directories (those specified with -"
"isystem will still be used)."
msgstr ""
-#: c-family/c.opt:2167
+#: c-family/c.opt:2154
#, no-c-format
msgid "Do not search standard system include directories for C++."
msgstr ""
-#: c-family/c.opt:2179
+#: c-family/c.opt:2166
#, no-c-format
msgid "Generate C header of platform-specific features."
msgstr ""
-#: c-family/c.opt:2183
+#: c-family/c.opt:2170
#, no-c-format
msgid "Remap file names when including files."
msgstr ""
-#: c-family/c.opt:2187 c-family/c.opt:2191
+#: c-family/c.opt:2174 c-family/c.opt:2178
#, no-c-format
msgid ""
"Conform to the ISO 1998 C++ standard revised by the 2003 technical "
"corrigendum."
msgstr ""
-#: c-family/c.opt:2195
+#: c-family/c.opt:2182
#, no-c-format
msgid "Conform to the ISO 2011 C++ standard."
msgstr ""
-#: c-family/c.opt:2199
+#: c-family/c.opt:2186
#, no-c-format
msgid "Deprecated in favor of -std=c++11."
msgstr ""
-#: c-family/c.opt:2203
+#: c-family/c.opt:2190
#, no-c-format
msgid "Deprecated in favor of -std=c++14."
msgstr ""
-#: c-family/c.opt:2207
+#: c-family/c.opt:2194
#, no-c-format
msgid "Conform to the ISO 2014 C++ standard."
msgstr ""
-#: c-family/c.opt:2211
+#: c-family/c.opt:2198
#, no-c-format
msgid "Deprecated in favor of -std=c++17."
msgstr ""
-#: c-family/c.opt:2215
+#: c-family/c.opt:2202
#, no-c-format
msgid "Conform to the ISO 2017 C++ standard."
msgstr ""
-#: c-family/c.opt:2219 c-family/c.opt:2223
+#: c-family/c.opt:2206 c-family/c.opt:2210
#, no-c-format
msgid ""
"Conform to the ISO 2020 C++ standard (experimental and incomplete support)."
msgstr ""
-#: c-family/c.opt:2227 c-family/c.opt:2231
+#: c-family/c.opt:2214 c-family/c.opt:2218
#, no-c-format
msgid ""
"Conform to the ISO 2023 C++ draft standard (experimental and incomplete "
"support)."
msgstr ""
-#: c-family/c.opt:2235 c-family/c.opt:2373
+#: c-family/c.opt:2222 c-family/c.opt:2360
#, no-c-format
msgid "Conform to the ISO 2011 C standard."
msgstr ""
-#: c-family/c.opt:2239
+#: c-family/c.opt:2226
#, no-c-format
msgid "Deprecated in favor of -std=c11."
msgstr ""
-#: c-family/c.opt:2243 c-family/c.opt:2247 c-family/c.opt:2377
-#: c-family/c.opt:2381
+#: c-family/c.opt:2230 c-family/c.opt:2234 c-family/c.opt:2364
+#: c-family/c.opt:2368
#, no-c-format
msgid "Conform to the ISO 2017 C standard (published in 2018)."
msgstr ""
-#: c-family/c.opt:2251
+#: c-family/c.opt:2238
#, no-c-format
msgid ""
"Conform to the ISO 202X C standard draft (experimental and incomplete "
"support)."
msgstr ""
-#: c-family/c.opt:2255 c-family/c.opt:2259 c-family/c.opt:2357
+#: c-family/c.opt:2242 c-family/c.opt:2246 c-family/c.opt:2344
#, no-c-format
msgid "Conform to the ISO 1990 C standard."
msgstr ""
-#: c-family/c.opt:2263 c-family/c.opt:2365
+#: c-family/c.opt:2250 c-family/c.opt:2352
#, no-c-format
msgid "Conform to the ISO 1999 C standard."
msgstr ""
-#: c-family/c.opt:2267
+#: c-family/c.opt:2254
#, no-c-format
msgid "Deprecated in favor of -std=c99."
msgstr ""
-#: c-family/c.opt:2271 c-family/c.opt:2276
+#: c-family/c.opt:2258 c-family/c.opt:2263
#, 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:2281
+#: c-family/c.opt:2268
#, no-c-format
msgid "Conform to the ISO 2011 C++ standard with GNU extensions."
msgstr ""
-#: c-family/c.opt:2285
+#: c-family/c.opt:2272
#, no-c-format
msgid "Deprecated in favor of -std=gnu++11."
msgstr ""
-#: c-family/c.opt:2289
+#: c-family/c.opt:2276
#, no-c-format
msgid "Deprecated in favor of -std=gnu++14."
msgstr ""
-#: c-family/c.opt:2293
+#: c-family/c.opt:2280
#, no-c-format
msgid "Conform to the ISO 2014 C++ standard with GNU extensions."
msgstr ""
-#: c-family/c.opt:2297
+#: c-family/c.opt:2284
#, no-c-format
msgid "Deprecated in favor of -std=gnu++17."
msgstr ""
-#: c-family/c.opt:2301
+#: c-family/c.opt:2288
#, no-c-format
msgid "Conform to the ISO 2017 C++ standard with GNU extensions."
msgstr ""
-#: c-family/c.opt:2305 c-family/c.opt:2309
+#: c-family/c.opt:2292 c-family/c.opt:2296
#, no-c-format
msgid ""
"Conform to the ISO 2020 C++ standard with GNU extensions (experimental and "
"incomplete support)."
msgstr ""
-#: c-family/c.opt:2313 c-family/c.opt:2317
+#: c-family/c.opt:2300 c-family/c.opt:2304
#, no-c-format
msgid ""
"Conform to the ISO 2023 C++ draft standard with GNU extensions (experimental "
"and incomplete support)."
msgstr ""
-#: c-family/c.opt:2321
+#: c-family/c.opt:2308
#, no-c-format
msgid "Conform to the ISO 2011 C standard with GNU extensions."
msgstr ""
-#: c-family/c.opt:2325
+#: c-family/c.opt:2312
#, no-c-format
msgid "Deprecated in favor of -std=gnu11."
msgstr ""
-#: c-family/c.opt:2329 c-family/c.opt:2333
+#: c-family/c.opt:2316 c-family/c.opt:2320
#, no-c-format
msgid ""
"Conform to the ISO 2017 C standard (published in 2018) with GNU extensions."
msgstr ""
-#: c-family/c.opt:2337
+#: c-family/c.opt:2324
#, no-c-format
msgid ""
"Conform to the ISO 202X C standard draft with GNU extensions (experimental "
"and incomplete support)."
msgstr ""
-#: c-family/c.opt:2341 c-family/c.opt:2345
+#: c-family/c.opt:2328 c-family/c.opt:2332
#, no-c-format
msgid "Conform to the ISO 1990 C standard with GNU extensions."
msgstr ""
-#: c-family/c.opt:2349
+#: c-family/c.opt:2336
#, no-c-format
msgid "Conform to the ISO 1999 C standard with GNU extensions."
msgstr ""
-#: c-family/c.opt:2353
+#: c-family/c.opt:2340
#, no-c-format
msgid "Deprecated in favor of -std=gnu99."
msgstr ""
-#: c-family/c.opt:2361
+#: c-family/c.opt:2348
#, no-c-format
msgid "Conform to the ISO 1990 C standard as amended in 1994."
msgstr ""
-#: c-family/c.opt:2369
+#: c-family/c.opt:2356
#, no-c-format
msgid "Deprecated in favor of -std=iso9899:1999."
msgstr ""
-#: c-family/c.opt:2385
+#: c-family/c.opt:2372
#, no-c-format
msgid ""
"-stdlib=[libstdc++|libc++]\tThe standard library to be used for C++ headers "
"and runtime."
msgstr ""
-#: c-family/c.opt:2402
+#: c-family/c.opt:2389
#, no-c-format
msgid "Enable traditional preprocessing."
msgstr ""
-#: c-family/c.opt:2406
+#: c-family/c.opt:2393
#, no-c-format
msgid "-trigraphs\tSupport ISO C trigraphs."
msgstr ""
-#: c-family/c.opt:2410
+#: c-family/c.opt:2397
#, no-c-format
msgid "Do not predefine system-specific and GCC-specific macros."
msgstr ""
@@ -8287,6 +8280,11 @@ msgid ""
"<ident>."
msgstr ""
+#: d/lang.opt:326
+#, no-c-format
+msgid "Emit template instantiations as weak symbols."
+msgstr ""
+
#: d/lang.opt:346
#, no-c-format
msgid "Do not link the standard D library in the compilation."
@@ -9672,72 +9670,84 @@ msgstr ""
msgid "Support TLS segment larger than 64K."
msgstr ""
-#: config/riscv/riscv.opt:26
+#: config/riscv/riscv.opt:26 config/aarch64/aarch64.opt:68
+#: config/arm/arm.opt:90 config/microblaze/microblaze.opt:60
+#, no-c-format
+msgid "Assume target CPU is configured as big endian."
+msgstr ""
+
+#: config/riscv/riscv.opt:30 config/aarch64/aarch64.opt:88
+#: config/arm/arm.opt:155 config/microblaze/microblaze.opt:64
+#, no-c-format
+msgid "Assume target CPU is configured as little endian."
+msgstr ""
+
+#: config/riscv/riscv.opt:34
#, no-c-format
msgid "-mbranch-cost=N\tSet the cost of branches to roughly N instructions."
msgstr ""
-#: config/riscv/riscv.opt:30
+#: config/riscv/riscv.opt:38
#, no-c-format
msgid "When generating -fpic code, allow the use of PLTs. Ignored for fno-pic."
msgstr ""
-#: config/riscv/riscv.opt:34
+#: config/riscv/riscv.opt:42
#, no-c-format
msgid "Specify integer and floating-point calling convention."
msgstr ""
-#: config/riscv/riscv.opt:38 config/i386/i386.opt:421
+#: config/riscv/riscv.opt:46 config/i386/i386.opt:421
#, no-c-format
msgid "Attempt to keep stack aligned to this power of 2."
msgstr ""
-#: config/riscv/riscv.opt:42
+#: config/riscv/riscv.opt:50
#, no-c-format
msgid "Supported ABIs (for use with the -mabi= option):"
msgstr ""
-#: config/riscv/riscv.opt:67
+#: config/riscv/riscv.opt:75
#, no-c-format
msgid "Use hardware floating-point divide and square root instructions."
msgstr ""
-#: config/riscv/riscv.opt:71
+#: config/riscv/riscv.opt:79
#, no-c-format
msgid "Use hardware instructions for integer division."
msgstr ""
-#: config/riscv/riscv.opt:75
+#: config/riscv/riscv.opt:83
#, no-c-format
msgid ""
"-march=\tGenerate code for given RISC-V ISA (e.g. RV64IM). ISA strings must "
"be lower-case."
msgstr ""
-#: config/riscv/riscv.opt:80 config/mips/mips.opt:405
+#: config/riscv/riscv.opt:88 config/mips/mips.opt:405
#, no-c-format
msgid "-mtune=PROCESSOR\tOptimize the output for PROCESSOR."
msgstr ""
-#: config/riscv/riscv.opt:84
+#: config/riscv/riscv.opt:92
#, no-c-format
msgid ""
"-mcpu=PROCESSOR\tUse architecture of and optimize the output for PROCESSOR."
msgstr ""
-#: config/riscv/riscv.opt:88
+#: config/riscv/riscv.opt:96
#, no-c-format
msgid ""
"-msmall-data-limit=N\tPut global and static data smaller than <number> bytes "
"into a special section (on some targets)."
msgstr ""
-#: config/riscv/riscv.opt:92
+#: config/riscv/riscv.opt:100
#, no-c-format
msgid "Use smaller but slower prologue and epilogue code."
msgstr ""
-#: config/riscv/riscv.opt:96
+#: config/riscv/riscv.opt:104
#, no-c-format
msgid ""
"Convert BASE + LARGE_OFFSET addresses to NEW_BASE + SMALL_OFFSET to allow "
@@ -9745,80 +9755,80 @@ msgid ""
"targets 32-bit integer load/stores."
msgstr ""
-#: config/riscv/riscv.opt:102 config/aarch64/aarch64.opt:92
+#: config/riscv/riscv.opt:110 config/aarch64/aarch64.opt:92
#, no-c-format
msgid "Specify the code model."
msgstr ""
-#: config/riscv/riscv.opt:106
+#: config/riscv/riscv.opt:114
#, no-c-format
msgid "Do not generate unaligned memory accesses."
msgstr ""
-#: config/riscv/riscv.opt:110 config/i386/i386.opt:293
+#: config/riscv/riscv.opt:118 config/i386/i386.opt:293
#: config/rs6000/aix64.opt:36 config/rs6000/linux64.opt:32
#: config/tilegx/tilegx.opt:57
#, no-c-format
msgid "Known code models (for use with the -mcmodel= option):"
msgstr ""
-#: config/riscv/riscv.opt:120
+#: config/riscv/riscv.opt:128
#, no-c-format
msgid "Use %reloc() operators, rather than assembly macros, to load addresses."
msgstr ""
-#: config/riscv/riscv.opt:124
+#: config/riscv/riscv.opt:132
#, no-c-format
msgid ""
"Take advantage of linker relaxations to reduce the number of instructions "
"required to materialize symbol addresses."
msgstr ""
-#: config/riscv/riscv.opt:143
+#: config/riscv/riscv.opt:151
#, no-c-format
msgid "Emit RISC-V ELF attribute."
msgstr ""
-#: config/riscv/riscv.opt:147 config/i386/i386.opt:246
+#: config/riscv/riscv.opt:155 config/i386/i386.opt:246
#, no-c-format
msgid "Use the given data alignment."
msgstr ""
-#: config/riscv/riscv.opt:151 config/i386/i386.opt:250
+#: config/riscv/riscv.opt:159 config/i386/i386.opt:250
#, no-c-format
msgid "Known data alignment choices (for use with the -malign-data= option):"
msgstr ""
-#: config/riscv/riscv.opt:161 config/aarch64/aarch64.opt:235
+#: config/riscv/riscv.opt:169 config/aarch64/aarch64.opt:235
#: config/i386/i386.opt:995 config/rs6000/rs6000.opt:570
#, no-c-format
msgid "Use given stack-protector guard."
msgstr ""
-#: config/riscv/riscv.opt:165 config/aarch64/aarch64.opt:239
+#: config/riscv/riscv.opt:173 config/aarch64/aarch64.opt:239
#: config/rs6000/rs6000.opt:574
#, no-c-format
msgid "Valid arguments to -mstack-protector-guard=:"
msgstr ""
-#: config/riscv/riscv.opt:175 config/i386/i386.opt:1009
+#: config/riscv/riscv.opt:183 config/i386/i386.opt:1009
#: config/rs6000/rs6000.opt:584
#, no-c-format
msgid "Use the given base register for addressing the stack-protector guard."
msgstr ""
-#: config/riscv/riscv.opt:182 config/i386/i386.opt:1016
+#: config/riscv/riscv.opt:190 config/i386/i386.opt:1016
#: config/rs6000/rs6000.opt:591
#, no-c-format
msgid "Use the given offset for addressing the stack-protector guard."
msgstr ""
-#: config/riscv/riscv.opt:192
+#: config/riscv/riscv.opt:200
#, no-c-format
msgid "Supported ISA specs (for use with the -misa-spec= option):"
msgstr ""
-#: config/riscv/riscv.opt:205
+#: config/riscv/riscv.opt:213
#, no-c-format
msgid "Set the version of RISC-V ISA spec."
msgstr ""
@@ -9980,12 +9990,6 @@ msgstr ""
msgid "The code model option names for -mcmodel:"
msgstr ""
-#: config/aarch64/aarch64.opt:68 config/arm/arm.opt:90
-#: config/microblaze/microblaze.opt:60
-#, no-c-format
-msgid "Assume target CPU is configured as big endian."
-msgstr ""
-
#: config/aarch64/aarch64.opt:72 config/i386/i386.opt:1030
#, no-c-format
msgid "Generate code which uses only the general registers."
@@ -10006,12 +10010,6 @@ msgstr ""
msgid "Workaround for ARM Cortex-A53 Erratum number 843419."
msgstr ""
-#: config/aarch64/aarch64.opt:88 config/arm/arm.opt:155
-#: config/microblaze/microblaze.opt:64
-#, no-c-format
-msgid "Assume target CPU is configured as little endian."
-msgstr ""
-
#: config/aarch64/aarch64.opt:96
#, no-c-format
msgid "Don't assume that unaligned accesses are handled by the system."
@@ -17654,341 +17652,341 @@ msgstr ""
msgid "-dumpdir <dir>\tSet the directory name to be used for dumps."
msgstr ""
-#: common.opt:970
+#: common.opt:974
#, no-c-format
msgid "The version of the C++ ABI in use."
msgstr ""
-#: common.opt:974
+#: common.opt:978
#, no-c-format
msgid "Aggressively optimize loops using language constraints."
msgstr ""
-#: common.opt:978
+#: common.opt:982
#, no-c-format
msgid "Align the start of functions."
msgstr ""
-#: common.opt:988
+#: common.opt:992
#, no-c-format
msgid "Align labels which are only reached by jumping."
msgstr ""
-#: common.opt:995
+#: common.opt:999
#, no-c-format
msgid "Align all labels."
msgstr ""
-#: common.opt:1002
+#: common.opt:1006
#, no-c-format
msgid "Align the start of loops."
msgstr ""
-#: common.opt:1009
+#: common.opt:1013
#, no-c-format
msgid "Allow the compiler to introduce new data races on stores."
msgstr ""
-#: common.opt:1013
+#: common.opt:1017
#, no-c-format
msgid "Enable static analysis pass."
msgstr ""
-#: common.opt:1033
+#: common.opt:1037
#, no-c-format
msgid "Select what to sanitize."
msgstr ""
-#: common.opt:1037
+#: common.opt:1041
#, no-c-format
msgid "Select type of coverage sanitization."
msgstr ""
-#: common.opt:1041
+#: common.opt:1045
#, no-c-format
msgid "-fasan-shadow-offset=<number>\tUse custom shadow memory offset."
msgstr ""
-#: common.opt:1045
+#: common.opt:1049
#, no-c-format
msgid ""
"-fsanitize-sections=<sec1,sec2,...>\tSanitize global variables in user-"
"defined sections."
msgstr ""
-#: common.opt:1050
+#: common.opt:1054
#, no-c-format
msgid "After diagnosing undefined behavior attempt to continue execution."
msgstr ""
-#: common.opt:1054
+#: common.opt:1058
#, no-c-format
msgid "This switch is deprecated; use -fsanitize-recover= instead."
msgstr ""
-#: common.opt:1061
+#: common.opt:1065
#, no-c-format
msgid ""
"Use trap instead of a library function for undefined behavior sanitization."
msgstr ""
-#: common.opt:1065
+#: common.opt:1069
#, no-c-format
msgid "Generate unwind tables that are exact at each instruction boundary."
msgstr ""
-#: common.opt:1069
+#: common.opt:1073
#, no-c-format
msgid "Generate auto-inc/dec instructions."
msgstr ""
-#: common.opt:1073
+#: common.opt:1077
#, no-c-format
msgid ""
"Use sample profile information for call graph node weights. The default "
"profile file is fbdata.afdo in 'pwd'."
msgstr ""
-#: common.opt:1078
+#: common.opt:1082
#, no-c-format
msgid ""
"Use sample profile information for call graph node weights. The profile file "
"is specified in the argument."
msgstr ""
-#: common.opt:1087
+#: common.opt:1091
#, no-c-format
msgid "Generate code to check bounds before indexing arrays."
msgstr ""
-#: common.opt:1091
+#: common.opt:1095
#, no-c-format
msgid "Replace add, compare, branch with branch on count register."
msgstr ""
-#: common.opt:1095
+#: common.opt:1099
#, no-c-format
msgid "Use profiling information for branch probabilities."
msgstr ""
-#: common.opt:1111
+#: common.opt:1115
#, no-c-format
msgid "Output callgraph information on a per-file basis."
msgstr ""
-#: common.opt:1115
+#: common.opt:1119
#, no-c-format
msgid "Output callgraph information on a per-file basis with decorations."
msgstr ""
-#: common.opt:1119
+#: common.opt:1123
#, no-c-format
msgid ""
"-fcall-saved-<register>\tMark <register> as being preserved across functions."
msgstr ""
-#: common.opt:1123
+#: common.opt:1127
#, no-c-format
msgid ""
"-fcall-used-<register>\tMark <register> as being corrupted by function calls."
msgstr ""
-#: common.opt:1130
+#: common.opt:1134
#, no-c-format
msgid "Save registers around function calls."
msgstr ""
-#: common.opt:1134
+#: common.opt:1138
#, no-c-format
msgid "This switch is deprecated; do not use."
msgstr ""
-#: common.opt:1138
+#: common.opt:1142
#, no-c-format
msgid "Check the return value of new in C++."
msgstr ""
-#: common.opt:1142 common.opt:1146
+#: common.opt:1146 common.opt:1150
#, no-c-format
msgid "Perform internal consistency checkings."
msgstr ""
-#: common.opt:1150
+#: common.opt:1154
#, no-c-format
msgid "Enable code hoisting."
msgstr ""
-#: common.opt:1154
+#: common.opt:1158
#, no-c-format
msgid ""
"Looks for opportunities to reduce stack adjustments and stack references."
msgstr ""
-#: common.opt:1158
+#: common.opt:1162
#, no-c-format
msgid "Put uninitialized globals in the common section."
msgstr ""
-#: common.opt:1166
+#: common.opt:1170
#, no-c-format
msgid ""
"-fcompare-debug[=<opts>]\tCompile with and without e.g. -gtoggle, and "
"compare the final-insns dump."
msgstr ""
-#: common.opt:1170
+#: common.opt:1174
#, no-c-format
msgid "Run only the second compilation of -fcompare-debug."
msgstr ""
-#: common.opt:1174
+#: common.opt:1178
#, no-c-format
msgid "Perform comparison elimination after register allocation has finished."
msgstr ""
-#: common.opt:1178
+#: common.opt:1182
#, no-c-format
msgid "Do not perform optimizations increasing noticeably stack usage."
msgstr ""
-#: common.opt:1182
+#: common.opt:1186
#, no-c-format
msgid "Perform a register copy-propagation optimization pass."
msgstr ""
-#: common.opt:1186
+#: common.opt:1190
#, no-c-format
msgid "Perform cross-jumping optimization."
msgstr ""
-#: common.opt:1190
+#: common.opt:1194
#, no-c-format
msgid "When running CSE, follow jumps to their targets."
msgstr ""
-#: common.opt:1198
+#: common.opt:1202
#, no-c-format
msgid "Omit range reduction step when performing complex division."
msgstr ""
-#: common.opt:1202
+#: common.opt:1206
#, no-c-format
msgid "Complex multiplication and division follow Fortran rules."
msgstr ""
-#: common.opt:1206
+#: common.opt:1210
#, no-c-format
msgid "Place data items into their own section."
msgstr ""
-#: common.opt:1210
+#: common.opt:1214
#, no-c-format
msgid "List all available debugging counters with their limits and counts."
msgstr ""
-#: common.opt:1214
+#: common.opt:1218
#, no-c-format
msgid ""
"-fdbg-cnt=<counter>[:<lower_limit1>-]<upper_limit1>[:<lower_limit2>-"
"<upper_limit2>:...][,<counter>:...]\tSet the debug counter limit."
msgstr ""
-#: common.opt:1218
+#: common.opt:1222
#, no-c-format
msgid ""
"-fdebug-prefix-map=<old>=<new>\tMap one directory name to another in debug "
"information."
msgstr ""
-#: common.opt:1222
+#: common.opt:1226
#, no-c-format
msgid ""
"-ffile-prefix-map=<old>=<new>\tMap one directory name to another in "
"compilation result."
msgstr ""
-#: common.opt:1226
+#: common.opt:1230
#, no-c-format
msgid "Output .debug_types section when using DWARF v4 debuginfo."
msgstr ""
-#: common.opt:1232
+#: common.opt:1236
#, no-c-format
msgid "Defer popping functions args from stack until later."
msgstr ""
-#: common.opt:1236
+#: common.opt:1240
#, no-c-format
msgid "Attempt to fill delay slots of branch instructions."
msgstr ""
-#: common.opt:1240
+#: common.opt:1244
#, no-c-format
msgid "Delete dead instructions that may throw exceptions."
msgstr ""
-#: common.opt:1244
+#: common.opt:1248
#, no-c-format
msgid "Delete useless null pointer checks."
msgstr ""
-#: common.opt:1248
+#: common.opt:1252
#, no-c-format
msgid ""
"Stream extra data to support more aggressive devirtualization in LTO local "
"transformation mode."
msgstr ""
-#: common.opt:1252
+#: common.opt:1256
#, no-c-format
msgid "Perform speculative devirtualization."
msgstr ""
-#: common.opt:1256
+#: common.opt:1260
#, no-c-format
msgid "Try to convert virtual calls to direct ones."
msgstr ""
-#: common.opt:1260
+#: common.opt:1264
#, no-c-format
msgid ""
"-fdiagnostics-show-location=[once|every-line]\tHow often to emit source "
"location at the beginning of line-wrapped diagnostics."
msgstr ""
-#: common.opt:1277
+#: common.opt:1281
#, no-c-format
msgid "Show the source line with a caret indicating the column."
msgstr ""
-#: common.opt:1281
+#: common.opt:1285
#, no-c-format
msgid "Show labels annotating ranges of source code when showing source."
msgstr ""
-#: common.opt:1285
+#: common.opt:1289
#, no-c-format
msgid "Show line numbers in the left margin when showing source."
msgstr ""
-#: common.opt:1293
+#: common.opt:1297
#, no-c-format
msgid "-fdiagnostics-color=[never|always|auto]\tColorize diagnostics."
msgstr ""
-#: common.opt:1313
+#: common.opt:1317
#, no-c-format
msgid "-fdiagnostics-urls=[never|always|auto]\tEmbed URLs in diagnostics."
msgstr ""
-#: common.opt:1333
+#: common.opt:1337
#, no-c-format
msgid ""
"-fdiagnostics-column-unit=[display|byte]\tSelect whether column numbers are "
"output as display columns (default) or raw bytes."
msgstr ""
-#: common.opt:1337
+#: common.opt:1341
#, no-c-format
msgid ""
"-fdiagnostics-column-origin=<number>\tSet the number of the first column. "
@@ -17996,425 +17994,425 @@ msgid ""
"based, for example."
msgstr ""
-#: common.opt:1341
+#: common.opt:1345
#, no-c-format
msgid "-fdiagnostics-format=[text|json]\tSelect output format."
msgstr ""
-#: common.opt:1367
+#: common.opt:1371
#, no-c-format
msgid "Print fix-it hints in machine-readable form."
msgstr ""
-#: common.opt:1371
+#: common.opt:1375
#, no-c-format
msgid "Print fix-it hints to stderr in unified diff format."
msgstr ""
-#: common.opt:1375
+#: common.opt:1379
#, no-c-format
msgid ""
"Amend appropriate diagnostic messages with the command line option that "
"controls them."
msgstr ""
-#: common.opt:1379
+#: common.opt:1383
#, no-c-format
msgid "Print CWE identifiers for diagnostic messages, where available."
msgstr ""
-#: common.opt:1383
+#: common.opt:1387
#, no-c-format
msgid ""
"Specify how to print any control-flow path associated with a diagnostic."
msgstr ""
-#: common.opt:1387
+#: common.opt:1391
#, no-c-format
msgid ""
"Turn off any diagnostics features that complicate the output, such as line "
"numbers, color, and warning URLs."
msgstr ""
-#: common.opt:1391
+#: common.opt:1395
#, no-c-format
msgid ""
"-ftabstop=<number> Distance between tab stops for column reporting."
msgstr ""
-#: common.opt:1407
+#: common.opt:1411
#, no-c-format
msgid "Show stack depths of events in paths."
msgstr ""
-#: common.opt:1411
+#: common.opt:1415
#, no-c-format
msgid "Set minimum width of left margin of source code when showing source."
msgstr ""
-#: common.opt:1415
+#: common.opt:1419
#, no-c-format
msgid ""
"-fdisable-[tree|rtl|ipa]-<pass>=range1+range2\tDisable an optimization pass."
msgstr ""
-#: common.opt:1419
+#: common.opt:1423
#, no-c-format
msgid ""
"-fenable-[tree|rtl|ipa]-<pass>=range1+range2\tEnable an optimization pass."
msgstr ""
-#: common.opt:1423
+#: common.opt:1427
#, no-c-format
msgid "-fdump-<type>\tDump various compiler internals to a file."
msgstr ""
-#: common.opt:1430
+#: common.opt:1434
#, no-c-format
msgid ""
"-fdump-final-insns=filename\tDump to filename the insns at the end of "
"translation."
msgstr ""
-#: common.opt:1434
+#: common.opt:1438
#, no-c-format
msgid "-fdump-go-spec=filename\tWrite all declarations to file as Go code."
msgstr ""
-#: common.opt:1438
+#: common.opt:1442
#, no-c-format
msgid "Suppress output of addresses in debugging dumps."
msgstr ""
-#: common.opt:1442
+#: common.opt:1446
#, no-c-format
msgid ""
"Collect and dump debug information into temporary file if ICE in C/C++ "
"compiler occurred."
msgstr ""
-#: common.opt:1447
+#: common.opt:1451
#, no-c-format
msgid ""
"Dump detailed information on GCC's internal representation of source code "
"locations."
msgstr ""
-#: common.opt:1451
+#: common.opt:1455
#, no-c-format
msgid "Dump optimization passes."
msgstr ""
-#: common.opt:1455
+#: common.opt:1459
#, no-c-format
msgid ""
"Suppress output of instruction numbers, line number notes and addresses in "
"debugging dumps."
msgstr ""
-#: common.opt:1459
+#: common.opt:1463
#, no-c-format
msgid "Suppress output of previous and next insn numbers in debugging dumps."
msgstr ""
-#: common.opt:1463
+#: common.opt:1467
#, no-c-format
msgid "Enable CFI tables via GAS assembler directives."
msgstr ""
-#: common.opt:1467
+#: common.opt:1471
#, no-c-format
msgid "Perform early inlining."
msgstr ""
-#: common.opt:1475
+#: common.opt:1479
#, no-c-format
msgid "Perform interprocedural reduction of aggregates."
msgstr ""
-#: common.opt:1479
+#: common.opt:1483
#, no-c-format
msgid "Perform unused symbol elimination in debug info."
msgstr ""
-#: common.opt:1483
+#: common.opt:1487
#, no-c-format
msgid "Perform unused type elimination in debug info."
msgstr ""
-#: common.opt:1487
+#: common.opt:1491
#, no-c-format
msgid "Do not suppress C++ class debug information."
msgstr ""
-#: common.opt:1491
+#: common.opt:1495
#, no-c-format
msgid "Enable exception handling."
msgstr ""
-#: common.opt:1495
+#: common.opt:1499
#, no-c-format
msgid "Perform a number of minor, expensive optimizations."
msgstr ""
-#: common.opt:1499
+#: common.opt:1503
#, no-c-format
msgid ""
"-fexcess-precision=[fast|standard]\tSpecify handling of excess floating-"
"point precision."
msgstr ""
-#: common.opt:1514
+#: common.opt:1518
#, no-c-format
msgid ""
"-fpermitted-flt-eval-methods=[c11|ts-18661]\tSpecify which values of "
"FLT_EVAL_METHOD are permitted."
msgstr ""
-#: common.opt:1530
+#: common.opt:1534
#, no-c-format
msgid ""
"Output lto objects containing both the intermediate language and binary "
"output."
msgstr ""
-#: common.opt:1534
+#: common.opt:1538
#, no-c-format
msgid "Assume no NaNs or infinities are generated."
msgstr ""
-#: common.opt:1538
+#: common.opt:1542
#, no-c-format
msgid ""
"Assume that loops with an exit will terminate and not loop indefinitely."
msgstr ""
-#: common.opt:1542
+#: common.opt:1546
#, no-c-format
msgid ""
"-ffixed-<register>\tMark <register> as being unavailable to the compiler."
msgstr ""
-#: common.opt:1546
+#: common.opt:1550
#, no-c-format
msgid "Don't allocate floats and doubles in extended-precision registers."
msgstr ""
-#: common.opt:1554
+#: common.opt:1558
#, no-c-format
msgid "Perform a forward propagation pass on RTL."
msgstr ""
-#: common.opt:1558
+#: common.opt:1562
#, no-c-format
msgid ""
"-ffp-contract=[off|on|fast]\tPerform floating-point expression contraction."
msgstr ""
-#: common.opt:1575
+#: common.opt:1579
#, no-c-format
msgid ""
"Allow built-in functions ceil, floor, round, trunc to raise \"inexact\" "
"exceptions."
msgstr ""
-#: common.opt:1582
+#: common.opt:1586
#, no-c-format
msgid "Allow function addresses to be held in registers."
msgstr ""
-#: common.opt:1586
+#: common.opt:1590
#, no-c-format
msgid "Place each function into its own section."
msgstr ""
-#: common.opt:1590
+#: common.opt:1594
#, no-c-format
msgid "Perform global common subexpression elimination."
msgstr ""
-#: common.opt:1594
+#: common.opt:1598
#, no-c-format
msgid ""
"Perform enhanced load motion during global common subexpression elimination."
msgstr ""
-#: common.opt:1598
+#: common.opt:1602
#, no-c-format
msgid "Perform store motion after global common subexpression elimination."
msgstr ""
-#: common.opt:1602
+#: common.opt:1606
#, no-c-format
msgid ""
"Perform redundant load after store elimination in global common "
"subexpression elimination."
msgstr ""
-#: common.opt:1607
+#: common.opt:1611
#, no-c-format
msgid ""
"Perform global common subexpression elimination after register allocation "
"has finished."
msgstr ""
-#: common.opt:1624
+#: common.opt:1628
#, no-c-format
msgid ""
"-fgnat-encodings=[all|gdb|minimal]\tSelect the balance between GNAT "
"encodings and standard DWARF emitted in the debug information."
msgstr ""
-#: common.opt:1629
+#: common.opt:1633
#, no-c-format
msgid "Enable in and out of Graphite representation."
msgstr ""
-#: common.opt:1633
+#: common.opt:1637
#, no-c-format
msgid "Enable Graphite Identity transformation."
msgstr ""
-#: common.opt:1637
+#: common.opt:1641
#, no-c-format
msgid ""
"Enable hoisting adjacent loads to encourage generating conditional move "
"instructions."
msgstr ""
-#: common.opt:1646
+#: common.opt:1650
#, no-c-format
msgid ""
"Improve GCC's ability to track column numbers in large source files, at the "
"expense of slower compilation."
msgstr ""
-#: common.opt:1651
+#: common.opt:1655
#, no-c-format
msgid "Mark all loops as parallel."
msgstr ""
-#: common.opt:1655 common.opt:1663 common.opt:2827
+#: common.opt:1659 common.opt:1667 common.opt:2831
#, no-c-format
msgid "Enable loop nest transforms. Same as -floop-nest-optimize."
msgstr ""
-#: common.opt:1659
+#: common.opt:1663
#, no-c-format
msgid "Enable loop interchange on trees."
msgstr ""
-#: common.opt:1667
+#: common.opt:1671
#, no-c-format
msgid "Perform unroll-and-jam on loops."
msgstr ""
-#: common.opt:1671
+#: common.opt:1675
#, no-c-format
msgid "Enable support for GNU transactional memory."
msgstr ""
-#: common.opt:1675
+#: common.opt:1679
#, no-c-format
msgid "Use STB_GNU_UNIQUE if supported by the assembler."
msgstr ""
-#: common.opt:1683
+#: common.opt:1687
#, no-c-format
msgid "Enable the loop nest optimizer."
msgstr ""
-#: common.opt:1687
+#: common.opt:1691
#, no-c-format
msgid "Force bitfield accesses to match their type width."
msgstr ""
-#: common.opt:1691
+#: common.opt:1695
#, no-c-format
msgid "Merge adjacent stores."
msgstr ""
-#: common.opt:1695
+#: common.opt:1699
#, no-c-format
msgid "Enable guessing of branch probabilities."
msgstr ""
-#: common.opt:1703
+#: common.opt:1707
#, no-c-format
msgid "Process #ident directives."
msgstr ""
-#: common.opt:1707
+#: common.opt:1711
#, no-c-format
msgid "Perform conversion of conditional jumps to branchless equivalents."
msgstr ""
-#: common.opt:1711
+#: common.opt:1715
#, no-c-format
msgid "Perform conversion of conditional jumps to conditional execution."
msgstr ""
-#: common.opt:1715
+#: common.opt:1719
#, no-c-format
msgid ""
"-fstack-reuse=[all|named_vars|none]\tSet stack reuse level for local "
"variables."
msgstr ""
-#: common.opt:1731
+#: common.opt:1735
#, no-c-format
msgid "Convert conditional jumps in innermost loops to branchless equivalents."
msgstr ""
-#: common.opt:1743
+#: common.opt:1747
#, no-c-format
msgid "Do not generate .size directives."
msgstr ""
-#: common.opt:1747
+#: common.opt:1751
#, no-c-format
msgid "Perform indirect inlining."
msgstr ""
-#: common.opt:1753
+#: common.opt:1757
#, no-c-format
msgid ""
"Enable inlining of function declared \"inline\", disabling disables all "
"inlining."
msgstr ""
-#: common.opt:1757
+#: common.opt:1761
#, no-c-format
msgid ""
"Integrate functions into their callers when code size is known not to grow."
msgstr ""
-#: common.opt:1761
+#: common.opt:1765
#, no-c-format
msgid ""
"Integrate functions not declared \"inline\" into their callers when "
"profitable."
msgstr ""
-#: common.opt:1765
+#: common.opt:1769
#, no-c-format
msgid "Integrate functions only required by their single caller."
msgstr ""
-#: common.opt:1772
+#: common.opt:1776
#, no-c-format
msgid ""
"-finline-limit=<number>\tLimit the size of inlined functions to <number>."
msgstr ""
-#: common.opt:1776
+#: common.opt:1780
#, no-c-format
msgid ""
"Inline __atomic operations when a lock free instruction sequence is "
"available."
msgstr ""
-#: common.opt:1783
+#: common.opt:1787
#, no-c-format
msgid ""
"-fcf-protection=[full|branch|return|none|check]\tInstrument functions with "
@@ -18422,567 +18420,567 @@ msgid ""
"valid targets."
msgstr ""
-#: common.opt:1806
+#: common.opt:1810
#, no-c-format
msgid "Instrument function entry and exit with profiling calls."
msgstr ""
-#: common.opt:1810
+#: common.opt:1814
#, no-c-format
msgid ""
"-finstrument-functions-exclude-function-list=name,...\tDo not instrument "
"listed functions."
msgstr ""
-#: common.opt:1814
+#: common.opt:1818
#, no-c-format
msgid ""
"-finstrument-functions-exclude-file-list=filename,...\tDo not instrument "
"functions listed in files."
msgstr ""
-#: common.opt:1818
+#: common.opt:1822
#, no-c-format
msgid "Perform interprocedural constant propagation."
msgstr ""
-#: common.opt:1822
+#: common.opt:1826
#, no-c-format
msgid "Perform cloning to make Interprocedural constant propagation stronger."
msgstr ""
-#: common.opt:1830
+#: common.opt:1834
#, no-c-format
msgid "Perform interprocedural bitwise constant propagation."
msgstr ""
-#: common.opt:1834
+#: common.opt:1838
#, no-c-format
msgid "Perform interprocedural modref analysis."
msgstr ""
-#: common.opt:1838
+#: common.opt:1842
#, no-c-format
msgid "Perform interprocedural profile propagation."
msgstr ""
-#: common.opt:1842
+#: common.opt:1846
#, no-c-format
msgid "Perform interprocedural points-to analysis."
msgstr ""
-#: common.opt:1846
+#: common.opt:1850
#, no-c-format
msgid "Discover pure and const functions."
msgstr ""
-#: common.opt:1850
+#: common.opt:1854
#, no-c-format
msgid "Perform Identical Code Folding for functions and read-only variables."
msgstr ""
-#: common.opt:1854
+#: common.opt:1858
#, no-c-format
msgid "Perform Identical Code Folding for functions."
msgstr ""
-#: common.opt:1858
+#: common.opt:1862
#, no-c-format
msgid "Perform Identical Code Folding for variables."
msgstr ""
-#: common.opt:1862
+#: common.opt:1866
#, no-c-format
msgid "Discover read-only and non addressable static variables."
msgstr ""
-#: common.opt:1866
+#: common.opt:1870
#, no-c-format
msgid "Discover read-only, write-only and non-addressable static variables."
msgstr ""
-#: common.opt:1870
+#: common.opt:1874
#, no-c-format
msgid "Reduce stack alignment on call sites if possible."
msgstr ""
-#: common.opt:1882
+#: common.opt:1886
#, no-c-format
msgid "Perform IPA Value Range Propagation."
msgstr ""
-#: common.opt:1886
+#: common.opt:1890
#, no-c-format
msgid "-fira-algorithm=[CB|priority]\tSet the used IRA algorithm."
msgstr ""
-#: common.opt:1899
+#: common.opt:1903
#, no-c-format
msgid "-fira-region=[one|all|mixed]\tSet regions for IRA."
msgstr ""
-#: common.opt:1915
+#: common.opt:1919
#, no-c-format
msgid "Use IRA based register pressure calculation in RTL hoist optimizations."
msgstr ""
-#: common.opt:1920
+#: common.opt:1924
#, no-c-format
msgid "Use IRA based register pressure calculation in RTL loop optimizations."
msgstr ""
-#: common.opt:1925
+#: common.opt:1929
#, no-c-format
msgid "Share slots for saving different hard registers."
msgstr ""
-#: common.opt:1929
+#: common.opt:1933
#, no-c-format
msgid "Share stack slots for spilled pseudo-registers."
msgstr ""
-#: common.opt:1933
+#: common.opt:1937
#, no-c-format
msgid "-fira-verbose=<number>\tControl IRA's level of diagnostic messages."
msgstr ""
-#: common.opt:1937
+#: common.opt:1941
#, no-c-format
msgid "Optimize induction variables on trees."
msgstr ""
-#: common.opt:1941
+#: common.opt:1945
#, no-c-format
msgid "Use jump tables for sufficiently large switch statements."
msgstr ""
-#: common.opt:1945
+#: common.opt:1949
#, no-c-format
msgid "Use bit tests for sufficiently large switch statements."
msgstr ""
-#: common.opt:1949
+#: common.opt:1953
#, no-c-format
msgid "Generate code for functions even if they are fully inlined."
msgstr ""
-#: common.opt:1953
+#: common.opt:1957
#, no-c-format
msgid "Generate code for static functions even if they are never called."
msgstr ""
-#: common.opt:1957
+#: common.opt:1961
#, no-c-format
msgid "Emit static const variables even if they are not used."
msgstr ""
-#: common.opt:1961
+#: common.opt:1965
#, no-c-format
msgid "Give external symbols a leading underscore."
msgstr ""
-#: common.opt:1969
+#: common.opt:1973
#, no-c-format
msgid "Do CFG-sensitive rematerialization in LRA."
msgstr ""
-#: common.opt:1973
+#: common.opt:1977
#, no-c-format
msgid "Enable link-time optimization."
msgstr ""
-#: common.opt:1977
+#: common.opt:1981
#, no-c-format
msgid "Link-time optimization with number of parallel jobs or jobserver."
msgstr ""
-#: common.opt:1999
+#: common.opt:2003
#, no-c-format
msgid "Specify the algorithm to partition symbols and vars at linktime."
msgstr ""
-#: common.opt:2004
+#: common.opt:2008
#, no-c-format
msgid ""
"-flto-compression-level=<number>\tUse zlib/zstd compression level <number> "
"for IL."
msgstr ""
-#: common.opt:2012
+#: common.opt:2016
#, no-c-format
msgid "Report various link-time optimization statistics."
msgstr ""
-#: common.opt:2016
+#: common.opt:2020
#, no-c-format
msgid "Report various link-time optimization statistics for WPA only."
msgstr ""
-#: common.opt:2020
+#: common.opt:2024
#, no-c-format
msgid "Set errno after built-in math functions."
msgstr ""
-#: common.opt:2024
+#: common.opt:2028
#, no-c-format
msgid "-fmax-errors=<number>\tMaximum number of errors to report."
msgstr ""
-#: common.opt:2028
+#: common.opt:2032
#, no-c-format
msgid "Report on permanent memory allocation."
msgstr ""
-#: common.opt:2032
+#: common.opt:2036
#, no-c-format
msgid "Report on permanent memory allocation in WPA only."
msgstr ""
-#: common.opt:2039
+#: common.opt:2043
#, no-c-format
msgid "Attempt to merge identical constants and constant variables."
msgstr ""
-#: common.opt:2043
+#: common.opt:2047
#, no-c-format
msgid "Attempt to merge identical constants across compilation units."
msgstr ""
-#: common.opt:2047
+#: common.opt:2051
#, no-c-format
msgid "Attempt to merge identical debug strings across compilation units."
msgstr ""
-#: common.opt:2051
+#: common.opt:2055
#, no-c-format
msgid ""
"-fmessage-length=<number>\tLimit diagnostics to <number> characters per "
"line. 0 suppresses line-wrapping."
msgstr ""
-#: common.opt:2055
+#: common.opt:2059
#, no-c-format
msgid "Perform SMS based modulo scheduling before the first scheduling pass."
msgstr ""
-#: common.opt:2059
+#: common.opt:2063
#, no-c-format
msgid "Perform SMS based modulo scheduling with register moves allowed."
msgstr ""
-#: common.opt:2063
+#: common.opt:2067
#, no-c-format
msgid "Move loop invariant computations out of loops."
msgstr ""
-#: common.opt:2067
+#: common.opt:2071
#, no-c-format
msgid "Use the RTL dead code elimination pass."
msgstr ""
-#: common.opt:2071
+#: common.opt:2075
#, no-c-format
msgid "Use the RTL dead store elimination pass."
msgstr ""
-#: common.opt:2075
+#: common.opt:2079
#, no-c-format
msgid ""
"Enable/Disable the traditional scheduling in loops that already passed "
"modulo scheduling."
msgstr ""
-#: common.opt:2079
+#: common.opt:2083
#, no-c-format
msgid "Support synchronous non-call exceptions."
msgstr ""
-#: common.opt:2083
+#: common.opt:2087
#, no-c-format
msgid ""
"-foffload=<targets>=<options>\tSpecify offloading targets and options for "
"them."
msgstr ""
-#: common.opt:2087
+#: common.opt:2091
#, no-c-format
msgid "-foffload-abi=[lp64|ilp32]\tSet the ABI to use in an offload compiler."
msgstr ""
-#: common.opt:2100
+#: common.opt:2104
#, no-c-format
msgid "When possible do not generate stack frames."
msgstr ""
-#: common.opt:2104
+#: common.opt:2108
#, no-c-format
msgid "Enable all optimization info dumps on stderr."
msgstr ""
-#: common.opt:2108
+#: common.opt:2112
#, no-c-format
msgid "-fopt-info[-<type>=filename]\tDump compiler optimization details."
msgstr ""
-#: common.opt:2112
+#: common.opt:2116
#, no-c-format
msgid ""
"Write a SRCFILE.opt-record.json file detailing what optimizations were "
"performed."
msgstr ""
-#: common.opt:2120
+#: common.opt:2124
#, no-c-format
msgid "Optimize sibling and tail recursive calls."
msgstr ""
-#: common.opt:2124
+#: common.opt:2128
#, no-c-format
msgid "Perform partial inlining."
msgstr ""
-#: common.opt:2128 common.opt:2132
+#: common.opt:2132 common.opt:2136
#, no-c-format
msgid "Report on memory allocation before interprocedural optimization."
msgstr ""
-#: common.opt:2136
+#: common.opt:2140
#, no-c-format
msgid "Pack structure members together without holes."
msgstr ""
-#: common.opt:2140
+#: common.opt:2144
#, no-c-format
msgid "-fpack-struct=<number>\tSet initial maximum structure member alignment."
msgstr ""
-#: common.opt:2144
+#: common.opt:2148
#, no-c-format
msgid "Return small aggregates in memory, not registers."
msgstr ""
-#: common.opt:2148
+#: common.opt:2152
#, no-c-format
msgid "Perform loop peeling."
msgstr ""
-#: common.opt:2152
+#: common.opt:2156
#, no-c-format
msgid "Enable machine specific peephole optimizations."
msgstr ""
-#: common.opt:2156
+#: common.opt:2160
#, no-c-format
msgid "Enable an RTL peephole pass before sched2."
msgstr ""
-#: common.opt:2160
+#: common.opt:2164
#, no-c-format
msgid "Generate position-independent code if possible (large mode)."
msgstr ""
-#: common.opt:2164
+#: common.opt:2168
#, no-c-format
msgid ""
"Generate position-independent code for executables if possible (large mode)."
msgstr ""
-#: common.opt:2168
+#: common.opt:2172
#, no-c-format
msgid "Generate position-independent code if possible (small mode)."
msgstr ""
-#: common.opt:2172
+#: common.opt:2176
#, no-c-format
msgid ""
"Generate position-independent code for executables if possible (small mode)."
msgstr ""
-#: common.opt:2176
+#: common.opt:2180
#, no-c-format
msgid ""
"Use PLT for PIC calls (-fno-plt: load the address from GOT at call site)."
msgstr ""
-#: common.opt:2180
+#: common.opt:2184
#, no-c-format
msgid "Specify a plugin to load."
msgstr ""
-#: common.opt:2184
+#: common.opt:2188
#, no-c-format
msgid ""
"-fplugin-arg-<name>-<key>[=<value>]\tSpecify argument <key>=<value> for "
"plugin <name>."
msgstr ""
-#: common.opt:2188
+#: common.opt:2192
#, no-c-format
msgid "Run predictive commoning optimization."
msgstr ""
-#: common.opt:2192
+#: common.opt:2196
#, no-c-format
msgid "Generate prefetch instructions, if available, for arrays in loops."
msgstr ""
-#: common.opt:2196
+#: common.opt:2200
#, no-c-format
msgid "Enable basic program profiling code."
msgstr ""
-#: common.opt:2200
+#: common.opt:2204
#, no-c-format
msgid "Generate absolute source path names for gcov."
msgstr ""
-#: common.opt:2204
+#: common.opt:2208
#, no-c-format
msgid "Insert arc-based program profiling code."
msgstr ""
-#: common.opt:2208
+#: common.opt:2212
#, no-c-format
msgid ""
"Set the top-level directory for storing the profile data. The default is "
"'pwd'."
msgstr ""
-#: common.opt:2213
+#: common.opt:2217
#, no-c-format
msgid "Select the name for storing the profile note file."
msgstr ""
-#: common.opt:2217
+#: common.opt:2221
#, no-c-format
msgid "Enable correction of flow inconsistent profile data input."
msgstr ""
-#: common.opt:2221
+#: common.opt:2225
#, no-c-format
msgid ""
"-fprofile-update=[single|atomic|prefer-atomic]\tSet the profile update "
"method."
msgstr ""
-#: common.opt:2225
+#: common.opt:2229
#, no-c-format
msgid ""
"Instrument only functions from files whose name matches any of the regular "
"expressions (separated by semi-colons)."
msgstr ""
-#: common.opt:2229
+#: common.opt:2233
#, 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:2245
+#: common.opt:2249
#, no-c-format
msgid ""
"-fprofile-reproducible=[serial|parallel-runs|multithreaded]\tControl level "
"of reproducibility of profile gathered by -fprofile-generate."
msgstr ""
-#: common.opt:2261
+#: common.opt:2265
#, no-c-format
msgid ""
"Remove prefix from absolute path before mangling name for -fprofile-"
"generate= and -fprofile-use=."
msgstr ""
-#: common.opt:2265
+#: common.opt:2269
#, no-c-format
msgid ""
"Enable common options for generating profile info for profile feedback "
"directed optimizations."
msgstr ""
-#: common.opt:2269
+#: common.opt:2273
#, no-c-format
msgid ""
"Enable common options for generating profile info for profile feedback "
"directed optimizations, and set -fprofile-dir=."
msgstr ""
-#: common.opt:2273
+#: common.opt:2277
#, no-c-format
msgid ""
"Register the profile information in the .gcov_info section instead of using "
"a constructor/destructor."
msgstr ""
-#: common.opt:2277
+#: common.opt:2281
#, no-c-format
msgid ""
"Register the profile information in the specified section instead of using a "
"constructor/destructor."
msgstr ""
-#: common.opt:2281
+#: common.opt:2285
#, no-c-format
msgid ""
"Do not assume that functions never executed during the train run are cold."
msgstr ""
-#: common.opt:2285
+#: common.opt:2289
#, no-c-format
msgid ""
"Enable common options for performing profile feedback directed optimizations."
msgstr ""
-#: common.opt:2289
+#: common.opt:2293
#, no-c-format
msgid ""
"Enable common options for performing profile feedback directed "
"optimizations, and set -fprofile-dir=."
msgstr ""
-#: common.opt:2293
+#: common.opt:2297
#, no-c-format
msgid "Insert code to profile values of expressions."
msgstr ""
-#: common.opt:2297
+#: common.opt:2301
#, no-c-format
msgid "Report on consistency of profile."
msgstr ""
-#: common.opt:2301
+#: common.opt:2305
#, no-c-format
msgid "Enable function reordering that improves code placement."
msgstr ""
-#: common.opt:2305
+#: common.opt:2309
#, no-c-format
msgid "Insert NOP instructions at each function entry."
msgstr ""
-#: common.opt:2312
+#: common.opt:2316
#, no-c-format
msgid "-frandom-seed=<string>\tMake compile reproducible using <string>."
msgstr ""
-#: common.opt:2322
+#: common.opt:2326
#, no-c-format
msgid "Record gcc command line switches in the object file."
msgstr ""
-#: common.opt:2326
+#: common.opt:2330
#, no-c-format
msgid "Return small aggregates in registers."
msgstr ""
-#: common.opt:2334
+#: common.opt:2338
#, 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:2345
+#: common.opt:2349
#, no-c-format
msgid ""
"-flive-patching=[inline-only-static|inline-clone]\tControl IPA optimizations "
@@ -18990,483 +18988,483 @@ msgid ""
"multiple-level control on the enabled IPA optimizations."
msgstr ""
-#: common.opt:2360
+#: common.opt:2364
#, no-c-format
msgid "Tell DCE to remove unused C++ allocations."
msgstr ""
-#: common.opt:2364
+#: common.opt:2368
#, no-c-format
msgid "Relief of register pressure through live range shrinkage."
msgstr ""
-#: common.opt:2368
+#: common.opt:2372
#, no-c-format
msgid "Perform a register renaming optimization pass."
msgstr ""
-#: common.opt:2372
+#: common.opt:2376
#, no-c-format
msgid "Perform a target dependent instruction fusion optimization pass."
msgstr ""
-#: common.opt:2376
+#: common.opt:2380
#, no-c-format
msgid "Reorder basic blocks to improve code placement."
msgstr ""
-#: common.opt:2380
+#: common.opt:2384
#, no-c-format
msgid ""
"-freorder-blocks-algorithm=[simple|stc]\tSet the used basic block reordering "
"algorithm."
msgstr ""
-#: common.opt:2393
+#: common.opt:2397
#, no-c-format
msgid "Reorder basic blocks and partition into hot and cold sections."
msgstr ""
-#: common.opt:2397
+#: common.opt:2401
#, no-c-format
msgid "Reorder functions to improve code placement."
msgstr ""
-#: common.opt:2401
+#: common.opt:2405
#, no-c-format
msgid "Add a common subexpression elimination pass after loop optimizations."
msgstr ""
-#: common.opt:2409
+#: common.opt:2413
#, no-c-format
msgid "Disable optimizations that assume default FP rounding behavior."
msgstr ""
-#: common.opt:2413
+#: common.opt:2417
#, no-c-format
msgid "Enable scheduling across basic blocks."
msgstr ""
-#: common.opt:2417
+#: common.opt:2421
#, no-c-format
msgid "Enable register pressure sensitive insn scheduling."
msgstr ""
-#: common.opt:2421
+#: common.opt:2425
#, no-c-format
msgid "Allow speculative motion of non-loads."
msgstr ""
-#: common.opt:2425
+#: common.opt:2429
#, no-c-format
msgid "Allow speculative motion of some loads."
msgstr ""
-#: common.opt:2429
+#: common.opt:2433
#, no-c-format
msgid "Allow speculative motion of more loads."
msgstr ""
-#: common.opt:2433
+#: common.opt:2437
#, no-c-format
msgid "-fsched-verbose=<number>\tSet the verbosity level of the scheduler."
msgstr ""
-#: common.opt:2437
+#: common.opt:2441
#, no-c-format
msgid "If scheduling post reload, do superblock scheduling."
msgstr ""
-#: common.opt:2445
+#: common.opt:2449
#, no-c-format
msgid "Reschedule instructions before register allocation."
msgstr ""
-#: common.opt:2449
+#: common.opt:2453
#, no-c-format
msgid "Reschedule instructions after register allocation."
msgstr ""
-#: common.opt:2456
+#: common.opt:2460
#, no-c-format
msgid "Schedule instructions using selective scheduling algorithm."
msgstr ""
-#: common.opt:2460
+#: common.opt:2464
#, no-c-format
msgid "Run selective scheduling after reload."
msgstr ""
-#: common.opt:2464
+#: common.opt:2468
#, no-c-format
msgid "Run self-tests, using the given path to locate test files."
msgstr ""
-#: common.opt:2468
+#: common.opt:2472
#, no-c-format
msgid "Perform software pipelining of inner loops during selective scheduling."
msgstr ""
-#: common.opt:2472
+#: common.opt:2476
#, no-c-format
msgid "Perform software pipelining of outer loops during selective scheduling."
msgstr ""
-#: common.opt:2476
+#: common.opt:2480
#, no-c-format
msgid "Reschedule pipelined regions without pipelining."
msgstr ""
-#: common.opt:2480
+#: common.opt:2484
#, no-c-format
msgid ""
"Allow interposing function (or variables) by ones with different semantics "
"(or initializer) respectively by dynamic linker."
msgstr ""
-#: common.opt:2486
+#: common.opt:2490
#, no-c-format
msgid "Allow premature scheduling of queued insns."
msgstr ""
-#: common.opt:2490
+#: common.opt:2494
#, no-c-format
msgid ""
"-fsched-stalled-insns=<number>\tSet number of queued insns that can be "
"prematurely scheduled."
msgstr ""
-#: common.opt:2498
+#: common.opt:2502
#, no-c-format
msgid ""
"Set dependence distance checking in premature scheduling of queued insns."
msgstr ""
-#: common.opt:2502
+#: common.opt:2506
#, no-c-format
msgid ""
"-fsched-stalled-insns-dep=<number>\tSet dependence distance checking in "
"premature scheduling of queued insns."
msgstr ""
-#: common.opt:2506
+#: common.opt:2510
#, no-c-format
msgid "Enable the group heuristic in the scheduler."
msgstr ""
-#: common.opt:2510
+#: common.opt:2514
#, no-c-format
msgid "Enable the critical path heuristic in the scheduler."
msgstr ""
-#: common.opt:2514
+#: common.opt:2518
#, no-c-format
msgid "Enable the speculative instruction heuristic in the scheduler."
msgstr ""
-#: common.opt:2518
+#: common.opt:2522
#, no-c-format
msgid "Enable the rank heuristic in the scheduler."
msgstr ""
-#: common.opt:2522
+#: common.opt:2526
#, no-c-format
msgid "Enable the last instruction heuristic in the scheduler."
msgstr ""
-#: common.opt:2526
+#: common.opt:2530
#, no-c-format
msgid "Enable the dependent count heuristic in the scheduler."
msgstr ""
-#: common.opt:2530
+#: common.opt:2534
#, no-c-format
msgid "Access data in the same section from shared anchor points."
msgstr ""
-#: common.opt:2542
+#: common.opt:2546
#, no-c-format
msgid "Turn on Redundant Extensions Elimination pass."
msgstr ""
-#: common.opt:2546
+#: common.opt:2550
#, no-c-format
msgid "Show column numbers in diagnostics, when available. Default on."
msgstr ""
-#: common.opt:2550
+#: common.opt:2554
#, 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:2555
+#: common.opt:2559
#, no-c-format
msgid "Shrink-wrap parts of the prologue and epilogue separately."
msgstr ""
-#: common.opt:2559
+#: common.opt:2563
#, no-c-format
msgid "Disable optimizations observable by IEEE signaling NaNs."
msgstr ""
-#: common.opt:2563
+#: common.opt:2567
#, no-c-format
msgid ""
"Disable floating point optimizations that ignore the IEEE signedness of zero."
msgstr ""
-#: common.opt:2567
+#: common.opt:2571
#, no-c-format
msgid "Convert floating point constants to single precision constants."
msgstr ""
-#: common.opt:2571
+#: common.opt:2575
#, no-c-format
msgid "Split lifetimes of induction variables when loops are unrolled."
msgstr ""
-#: common.opt:2575
+#: common.opt:2579
#, no-c-format
msgid "Generate discontiguous stack frames."
msgstr ""
-#: common.opt:2579
+#: common.opt:2583
#, no-c-format
msgid "Split wide types into independent registers."
msgstr ""
-#: common.opt:2583
+#: common.opt:2587
#, no-c-format
msgid "Split wide types into independent registers earlier."
msgstr ""
-#: common.opt:2587
+#: common.opt:2591
#, no-c-format
msgid "Enable backward propagation of use properties at the SSA level."
msgstr ""
-#: common.opt:2591
+#: common.opt:2595
#, no-c-format
msgid "Optimize conditional patterns using SSA PHI nodes."
msgstr ""
-#: common.opt:2595
+#: common.opt:2599
#, no-c-format
msgid ""
"Optimize amount of stdarg registers saved to stack at start of function."
msgstr ""
-#: common.opt:2599
+#: common.opt:2603
#, no-c-format
msgid "Apply variable expansion when loops are unrolled."
msgstr ""
-#: common.opt:2603
+#: common.opt:2607
#, no-c-format
msgid ""
"-fstack-check=[no|generic|specific]\tInsert stack checking code into the "
"program."
msgstr ""
-#: common.opt:2607
+#: common.opt:2611
#, no-c-format
msgid ""
"Insert stack checking code into the program. Same as -fstack-check=specific."
msgstr ""
-#: common.opt:2611
+#: common.opt:2615
#, 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:2619
+#: common.opt:2623
#, no-c-format
msgid ""
"-fstack-limit-register=<register>\tTrap if the stack goes past <register>."
msgstr ""
-#: common.opt:2623
+#: common.opt:2627
#, no-c-format
msgid "-fstack-limit-symbol=<name>\tTrap if the stack goes past symbol <name>."
msgstr ""
-#: common.opt:2627
+#: common.opt:2631
#, no-c-format
msgid "Use propolice as a stack protection method."
msgstr ""
-#: common.opt:2631
+#: common.opt:2635
#, no-c-format
msgid "Use a stack protection method for every function."
msgstr ""
-#: common.opt:2635
+#: common.opt:2639
#, no-c-format
msgid "Use a smart stack protection method for certain functions."
msgstr ""
-#: common.opt:2639
+#: common.opt:2643
#, no-c-format
msgid ""
"Use stack protection method only for functions with the stack_protect "
"attribute."
msgstr ""
-#: common.opt:2643
+#: common.opt:2647
#, no-c-format
msgid "Output stack usage information on a per-function basis."
msgstr ""
-#: common.opt:2655
+#: common.opt:2659
#, no-c-format
msgid "Assume strict aliasing rules apply."
msgstr ""
-#: common.opt:2659
+#: common.opt:2663
#, no-c-format
msgid ""
"Treat signed overflow as undefined. Negated as -fwrapv -fwrapv-pointer."
msgstr ""
-#: common.opt:2663
+#: common.opt:2667
#, no-c-format
msgid "Implement __atomic operations via libcalls to legacy __sync functions."
msgstr ""
-#: common.opt:2667
+#: common.opt:2671
#, no-c-format
msgid "Check for syntax errors, then stop."
msgstr ""
-#: common.opt:2671
+#: common.opt:2675
#, no-c-format
msgid "Create data files needed by \"gcov\"."
msgstr ""
-#: common.opt:2675
+#: common.opt:2679
#, no-c-format
msgid "Perform jump threading optimizations."
msgstr ""
-#: common.opt:2679
+#: common.opt:2683
#, no-c-format
msgid "Report the time taken by each compiler pass."
msgstr ""
-#: common.opt:2683
+#: common.opt:2687
#, no-c-format
msgid "Record times taken by sub-phases separately."
msgstr ""
-#: common.opt:2687
+#: common.opt:2691
#, 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:2706
+#: common.opt:2710
#, no-c-format
msgid "Reorder top level functions, variables, and asms."
msgstr ""
-#: common.opt:2710
+#: common.opt:2714
#, no-c-format
msgid "Perform superblock formation via tail duplication."
msgstr ""
-#: common.opt:2714
+#: common.opt:2718
#, no-c-format
msgid ""
"For targets that normally need trampolines for nested functions, always "
"generate them instead of using descriptors."
msgstr ""
-#: common.opt:2722
+#: common.opt:2726
#, no-c-format
msgid "Assume floating-point operations can trap."
msgstr ""
-#: common.opt:2726
+#: common.opt:2730
#, no-c-format
msgid "Trap for signed overflow in addition, subtraction and multiplication."
msgstr ""
-#: common.opt:2730
+#: common.opt:2734
#, no-c-format
msgid "Enable SSA-CCP optimization on trees."
msgstr ""
-#: common.opt:2734
+#: common.opt:2738
#, no-c-format
msgid "Enable SSA-BIT-CCP optimization on trees."
msgstr ""
-#: common.opt:2742
+#: common.opt:2746
#, no-c-format
msgid "Enable loop header copying on trees."
msgstr ""
-#: common.opt:2750
+#: common.opt:2754
#, no-c-format
msgid "Enable SSA coalescing of user variables."
msgstr ""
-#: common.opt:2758
+#: common.opt:2762
#, no-c-format
msgid "Enable copy propagation on trees."
msgstr ""
-#: common.opt:2766
+#: common.opt:2770
#, no-c-format
msgid "Transform condition stores into unconditional ones."
msgstr ""
-#: common.opt:2770
+#: common.opt:2774
#, no-c-format
msgid "Perform conversions of switch initializations."
msgstr ""
-#: common.opt:2774
+#: common.opt:2778
#, no-c-format
msgid "Enable SSA dead code elimination optimization on trees."
msgstr ""
-#: common.opt:2778
+#: common.opt:2782
#, no-c-format
msgid "Enable dominator optimizations."
msgstr ""
-#: common.opt:2782
+#: common.opt:2786
#, no-c-format
msgid "Enable tail merging on trees."
msgstr ""
-#: common.opt:2786
+#: common.opt:2790
#, no-c-format
msgid "Enable dead store elimination."
msgstr ""
-#: common.opt:2790
+#: common.opt:2794
#, no-c-format
msgid "Enable forward propagation on trees."
msgstr ""
-#: common.opt:2794
+#: common.opt:2798
#, no-c-format
msgid "Enable Full Redundancy Elimination (FRE) on trees."
msgstr ""
-#: common.opt:2798
+#: common.opt:2802
#, no-c-format
msgid "Enable string length optimizations on trees."
msgstr ""
-#: common.opt:2802
+#: common.opt:2806
#, no-c-format
msgid ""
"Detect paths that trigger erroneous or undefined behavior due to "
@@ -19474,7 +19472,7 @@ msgid ""
"flow and turn the statement with erroneous or undefined behavior into a trap."
msgstr ""
-#: common.opt:2808
+#: common.opt:2812
#, no-c-format
msgid ""
"Detect paths that trigger erroneous or undefined behavior due to a null "
@@ -19483,509 +19481,509 @@ msgid ""
"statement with erroneous or undefined behavior into a trap."
msgstr ""
-#: common.opt:2815
+#: common.opt:2819
#, no-c-format
msgid "Enable loop distribution on trees."
msgstr ""
-#: common.opt:2819
+#: common.opt:2823
#, no-c-format
msgid "Enable loop distribution for patterns transformed into a library call."
msgstr ""
-#: common.opt:2823
+#: common.opt:2827
#, no-c-format
msgid "Enable loop invariant motion on trees."
msgstr ""
-#: common.opt:2831
+#: common.opt:2835
#, no-c-format
msgid "Create canonical induction variables in loops."
msgstr ""
-#: common.opt:2835
+#: common.opt:2839
#, no-c-format
msgid "Enable loop optimizations on tree level."
msgstr ""
-#: common.opt:2839
+#: common.opt:2843
#, no-c-format
msgid ""
"-ftree-parallelize-loops=<number>\tEnable automatic parallelization of loops."
msgstr ""
-#: common.opt:2843
+#: common.opt:2847
#, no-c-format
msgid "Enable hoisting loads from conditional pointers."
msgstr ""
-#: common.opt:2847
+#: common.opt:2851
#, no-c-format
msgid "Enable SSA-PRE optimization on trees."
msgstr ""
-#: common.opt:2851
+#: common.opt:2855
#, no-c-format
msgid ""
"In SSA-PRE optimization on trees, enable partial-partial redundancy "
"elimination."
msgstr ""
-#: common.opt:2855
+#: common.opt:2859
#, no-c-format
msgid "Perform function-local points-to analysis on trees."
msgstr ""
-#: common.opt:2859
+#: common.opt:2863
#, no-c-format
msgid "Enable reassociation on tree level."
msgstr ""
-#: common.opt:2867
+#: common.opt:2871
#, no-c-format
msgid "Enable SSA code sinking on trees."
msgstr ""
-#: common.opt:2871
+#: common.opt:2875
#, no-c-format
msgid "Perform straight-line strength reduction."
msgstr ""
-#: common.opt:2875
+#: common.opt:2879
#, no-c-format
msgid "Perform scalar replacement of aggregates."
msgstr ""
-#: common.opt:2879
+#: common.opt:2883
#, no-c-format
msgid "Replace temporary expressions in the SSA->normal pass."
msgstr ""
-#: common.opt:2883
+#: common.opt:2887
#, no-c-format
msgid "Perform live range splitting during the SSA->normal pass."
msgstr ""
-#: common.opt:2887
+#: common.opt:2891
#, no-c-format
msgid "Perform Value Range Propagation on trees."
msgstr ""
-#: common.opt:2891
+#: common.opt:2895
#, no-c-format
msgid "Split paths leading to loop backedges."
msgstr ""
-#: common.opt:2895
+#: common.opt:2899
#, no-c-format
msgid ""
"Assume common declarations may be overridden with ones with a larger "
"trailing array."
msgstr ""
-#: common.opt:2900
+#: common.opt:2904
#, no-c-format
msgid "Compile whole compilation unit at a time."
msgstr ""
-#: common.opt:2904
+#: common.opt:2908
#, no-c-format
msgid "Perform loop unrolling when iteration count is known."
msgstr ""
-#: common.opt:2908
+#: common.opt:2912
#, no-c-format
msgid "Perform loop unrolling for all loops."
msgstr ""
-#: common.opt:2923
+#: common.opt:2927
#, no-c-format
msgid ""
"Allow optimization for floating-point arithmetic which may change the result "
"of the operation due to rounding."
msgstr ""
-#: common.opt:2928
+#: common.opt:2932
#, no-c-format
msgid "Same as -fassociative-math for expressions which include division."
msgstr ""
-#: common.opt:2936
+#: common.opt:2940
#, no-c-format
msgid "Allow math optimizations that may violate IEEE or ISO standards."
msgstr ""
-#: common.opt:2940
+#: common.opt:2944
#, no-c-format
msgid "Perform loop unswitching."
msgstr ""
-#: common.opt:2944
+#: common.opt:2948
#, no-c-format
msgid "Perform loop splitting."
msgstr ""
-#: common.opt:2948
+#: common.opt:2952
#, no-c-format
msgid "Version loops based on whether indices have a stride of one."
msgstr ""
-#: common.opt:2952
+#: common.opt:2956
#, no-c-format
msgid "Just generate unwind tables for exception handling."
msgstr ""
-#: common.opt:2956
+#: common.opt:2960
#, no-c-format
msgid "Use the bfd linker instead of the default linker."
msgstr ""
-#: common.opt:2960
+#: common.opt:2964
#, no-c-format
msgid "Use the gold linker instead of the default linker."
msgstr ""
-#: common.opt:2964
+#: common.opt:2968
#, no-c-format
msgid "Use the lld LLVM linker instead of the default linker."
msgstr ""
-#: common.opt:2976
+#: common.opt:2980
#, no-c-format
msgid "Perform variable tracking."
msgstr ""
-#: common.opt:2984
+#: common.opt:2988
#, no-c-format
msgid "Perform variable tracking by annotating assignments."
msgstr ""
-#: common.opt:2990
+#: common.opt:2994
#, no-c-format
msgid "Toggle -fvar-tracking-assignments."
msgstr ""
-#: common.opt:2998
+#: common.opt:3002
#, no-c-format
msgid ""
"Perform variable tracking and also tag variables that are uninitialized."
msgstr ""
-#: common.opt:3003
+#: common.opt:3007
#, no-c-format
msgid "Enable vectorization on trees."
msgstr ""
-#: common.opt:3011
+#: common.opt:3015
#, no-c-format
msgid "Enable loop vectorization on trees."
msgstr ""
-#: common.opt:3015
+#: common.opt:3019
#, no-c-format
msgid "Enable basic block vectorization (SLP) on trees."
msgstr ""
-#: common.opt:3019
+#: common.opt:3023
#, no-c-format
msgid ""
"-fvect-cost-model=[unlimited|dynamic|cheap|very-cheap]\tSpecifies the cost "
"model for vectorization."
msgstr ""
-#: common.opt:3023
+#: common.opt:3027
#, 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:3042
+#: common.opt:3046
#, no-c-format
msgid ""
"Enables the dynamic vectorizer cost model. Preserved for backward "
"compatibility."
msgstr ""
-#: common.opt:3050
+#: common.opt:3054
#, no-c-format
msgid "Enable copy propagation of scalar-evolution information."
msgstr ""
-#: common.opt:3060
+#: common.opt:3064
#, no-c-format
msgid "Add extra commentary to assembler output."
msgstr ""
-#: common.opt:3064
+#: common.opt:3068
#, no-c-format
msgid ""
"-fvisibility=[default|internal|hidden|protected]\tSet the default symbol "
"visibility."
msgstr ""
-#: common.opt:3083
+#: common.opt:3087
#, no-c-format
msgid "Validate vtable pointers before using them."
msgstr ""
-#: common.opt:3099
+#: common.opt:3103
#, no-c-format
msgid "Output vtable verification counters."
msgstr ""
-#: common.opt:3103
+#: common.opt:3107
#, no-c-format
msgid "Output vtable verification pointer sets information."
msgstr ""
-#: common.opt:3107
+#: common.opt:3111
#, no-c-format
msgid "Use expression value profiles in optimizations."
msgstr ""
-#: common.opt:3111
+#: common.opt:3115
#, no-c-format
msgid "Construct webs and split unrelated uses of single variable."
msgstr ""
-#: common.opt:3115
+#: common.opt:3119
#, no-c-format
msgid "Enable conditional dead code elimination for builtin calls."
msgstr ""
-#: common.opt:3119
+#: common.opt:3123
#, no-c-format
msgid "Perform whole program optimizations."
msgstr ""
-#: common.opt:3123
+#: common.opt:3127
#, no-c-format
msgid "Assume pointer overflow wraps around."
msgstr ""
-#: common.opt:3127
+#: common.opt:3131
#, no-c-format
msgid "Assume signed arithmetic overflow wraps around."
msgstr ""
-#: common.opt:3131
+#: common.opt:3135
#, no-c-format
msgid "Put zero initialized data in the bss section."
msgstr ""
-#: common.opt:3135
+#: common.opt:3139
#, no-c-format
msgid "Clear call-used registers upon function return."
msgstr ""
-#: common.opt:3139
+#: common.opt:3143
#, no-c-format
msgid "Generate debug information in default format."
msgstr ""
-#: common.opt:3143
+#: common.opt:3147
#, no-c-format
msgid "Assume assembler support for (DWARF2+) .loc directives."
msgstr ""
-#: common.opt:3147
+#: common.opt:3151
#, no-c-format
msgid "Assume assembler support for view in (DWARF2+) .loc directives."
msgstr ""
-#: common.opt:3167
+#: common.opt:3171
#, no-c-format
msgid "Record DW_AT_decl_column and DW_AT_call_column in DWARF."
msgstr ""
-#: common.opt:3171
+#: common.opt:3175
#, no-c-format
msgid "Generate debug information in default version of DWARF format."
msgstr ""
-#: common.opt:3175
+#: common.opt:3179
#, no-c-format
msgid "Generate debug information in DWARF v2 (or later) format."
msgstr ""
-#: common.opt:3179
+#: common.opt:3183
#, no-c-format
msgid "Use 32-bit DWARF format when emitting DWARF debug information."
msgstr ""
-#: common.opt:3183
+#: common.opt:3187
#, no-c-format
msgid "Use 64-bit DWARF format when emitting DWARF debug information."
msgstr ""
-#: common.opt:3187
+#: common.opt:3191
#, no-c-format
msgid "Generate debug information in default extended format."
msgstr ""
-#: common.opt:3191
+#: common.opt:3195
#, no-c-format
msgid "Generate extended entry point information for inlined functions."
msgstr ""
-#: common.opt:3195
+#: common.opt:3199
#, no-c-format
msgid "Compute locview reset points based on insn length estimates."
msgstr ""
-#: common.opt:3203
+#: common.opt:3207
#, no-c-format
msgid "Don't generate DWARF pubnames and pubtypes sections."
msgstr ""
-#: common.opt:3207
+#: common.opt:3211
#, no-c-format
msgid "Generate DWARF pubnames and pubtypes sections."
msgstr ""
-#: common.opt:3211
+#: common.opt:3215
#, no-c-format
msgid "Generate DWARF pubnames and pubtypes sections with GNU extensions."
msgstr ""
-#: common.opt:3215
+#: common.opt:3219
#, no-c-format
msgid "Record gcc command line switches in DWARF DW_AT_producer."
msgstr ""
-#: common.opt:3219
+#: common.opt:3223
#, no-c-format
msgid "Generate debug information in separate .dwo files."
msgstr ""
-#: common.opt:3223
+#: common.opt:3227
#, no-c-format
msgid "Generate debug information in STABS format."
msgstr ""
-#: common.opt:3227
+#: common.opt:3231
#, no-c-format
msgid "Generate debug information in extended STABS format."
msgstr ""
-#: common.opt:3231
+#: common.opt:3235
#, no-c-format
msgid "Emit progressive recommended breakpoint locations."
msgstr ""
-#: common.opt:3235
+#: common.opt:3239
#, no-c-format
msgid "Don't emit DWARF additions beyond selected version."
msgstr ""
-#: common.opt:3239
+#: common.opt:3243
#, no-c-format
msgid ""
"Add description attributes to some DWARF DIEs that have no name attribute."
msgstr ""
-#: common.opt:3243
+#: common.opt:3247
#, no-c-format
msgid "Toggle debug information generation."
msgstr ""
-#: common.opt:3247
+#: common.opt:3251
#, no-c-format
msgid "Augment variable location lists with progressive views."
msgstr ""
-#: common.opt:3254
+#: common.opt:3258
#, no-c-format
msgid "Generate debug information in VMS format."
msgstr ""
-#: common.opt:3258
+#: common.opt:3262
#, no-c-format
msgid "Generate debug information in XCOFF format."
msgstr ""
-#: common.opt:3262
+#: common.opt:3266
#, no-c-format
msgid "Generate debug information in extended XCOFF format."
msgstr ""
-#: common.opt:3280
+#: common.opt:3284
#, no-c-format
msgid "Generate compressed debug sections."
msgstr ""
-#: common.opt:3284
+#: common.opt:3288
#, no-c-format
msgid "-gz=<format>\tGenerate compressed debug sections in format <format>."
msgstr ""
-#: common.opt:3291
+#: common.opt:3295
#, no-c-format
msgid "-iplugindir=<dir>\tSet <dir> to be the default plugin directory."
msgstr ""
-#: common.opt:3295
+#: common.opt:3299
#, no-c-format
msgid "-imultiarch <dir>\tSet <dir> to be the multiarch include subdirectory."
msgstr ""
-#: common.opt:3320
+#: common.opt:3324
#, no-c-format
msgid "-o <file>\tPlace output into <file>."
msgstr ""
-#: common.opt:3324
+#: common.opt:3328
#, no-c-format
msgid "Enable function profiling."
msgstr ""
-#: common.opt:3334
+#: common.opt:3338
#, no-c-format
msgid "Like -pedantic but issue them as errors."
msgstr ""
-#: common.opt:3374
+#: common.opt:3378
#, no-c-format
msgid "Do not display functions compiled or elapsed time."
msgstr ""
-#: common.opt:3406
+#: common.opt:3410
#, no-c-format
msgid "Enable verbose output."
msgstr ""
-#: common.opt:3410
+#: common.opt:3414
#, no-c-format
msgid "Display the compiler's version."
msgstr ""
-#: common.opt:3414
+#: common.opt:3418
#, no-c-format
msgid "Suppress warnings."
msgstr ""
-#: common.opt:3424
+#: common.opt:3428
#, no-c-format
msgid "Create a shared library."
msgstr ""
-#: common.opt:3472
+#: common.opt:3476
#, no-c-format
msgid "Don't create a dynamically linked position independent executable."
msgstr ""
-#: common.opt:3476
+#: common.opt:3480
#, no-c-format
msgid "Create a dynamically linked position independent executable."
msgstr ""
-#: common.opt:3480
+#: common.opt:3484
#, no-c-format
msgid "Create a static position independent executable."
msgstr ""
-#: common.opt:3487
+#: common.opt:3491
#, no-c-format
msgid "Use caller save register across calls if possible."
msgstr ""
@@ -20152,94 +20150,101 @@ msgstr ""
#: params.opt:162
#, no-c-format
msgid ""
+"Maximum depth of logical expression evaluation ranger will look through when "
+"evaluating outgoing edge ranges."
+msgstr ""
+
+#: params.opt:167
+#, no-c-format
+msgid ""
"Maximum number of arguments a PHI may have before the FSM threader will not "
"try to thread through its block."
msgstr ""
-#: params.opt:166
+#: params.opt:171
#, no-c-format
msgid ""
"Scale factor to apply to the number of blocks in a threading path when "
"comparing to the number of (scaled) statements."
msgstr ""
-#: params.opt:170
+#: params.opt:175
#, no-c-format
msgid ""
"Scale factor to apply to the number of statements in a threading path when "
"comparing to the number of (scaled) blocks."
msgstr ""
-#: params.opt:174
+#: params.opt:179
#, no-c-format
msgid ""
"The threshold ratio of critical edges execution count that permit performing "
"redundancy elimination after reload."
msgstr ""
-#: params.opt:178
+#: params.opt:183
#, no-c-format
msgid ""
"The threshold ratio for performing partial redundancy elimination after "
"reload."
msgstr ""
-#: params.opt:182
+#: params.opt:187
#, no-c-format
msgid ""
"Scaling factor in calculation of maximum distance an expression can be moved "
"by GCSE optimizations."
msgstr ""
-#: params.opt:186
+#: params.opt:191
#, no-c-format
msgid ""
"Cost at which GCSE optimizations will not constraint the distance an "
"expression can travel."
msgstr ""
-#: params.opt:190
+#: params.opt:195
#, no-c-format
msgid ""
"Minimum heap expansion to trigger garbage collection, as a percentage of the "
"total size of the heap."
msgstr ""
-#: params.opt:194
+#: params.opt:199
#, no-c-format
msgid "Minimum heap size before we start collecting garbage, in kilobytes."
msgstr ""
-#: params.opt:198
+#: params.opt:203
#, no-c-format
msgid ""
"The number of executions of a basic block which is considered hot. The "
"parameter is used only in GIMPLE FE."
msgstr ""
-#: params.opt:202
+#: params.opt:207
#, no-c-format
msgid "Whether codegen errors should be ICEs when -fchecking."
msgstr ""
-#: params.opt:206
+#: params.opt:211
#, no-c-format
msgid "Maximum number of arrays per SCoP."
msgstr ""
-#: params.opt:210
+#: params.opt:215
#, no-c-format
msgid "Maximum number of parameters in a SCoP."
msgstr ""
-#: params.opt:214
+#: params.opt:219
#, no-c-format
msgid ""
"The number of elements for which hash table verification is done for each "
"searched element."
msgstr ""
-#: params.opt:218
+#: params.opt:223
#, no-c-format
msgid ""
"The denominator n of fraction 1/n of the maximal execution count of a basic "
@@ -20247,7 +20252,7 @@ msgid ""
"order to be considered hot (used in non-LTO mode)."
msgstr ""
-#: params.opt:222
+#: params.opt:227
#, no-c-format
msgid ""
"The number of most executed permilles of the profiled execution of the "
@@ -20255,7 +20260,7 @@ msgid ""
"in order to be considered hot (used in LTO mode)."
msgstr ""
-#: params.opt:226
+#: params.opt:231
#, no-c-format
msgid ""
"The denominator n of fraction 1/n of the execution frequency of the entry "
@@ -20263,887 +20268,894 @@ msgid ""
"have in order to be considered hot."
msgstr ""
-#: params.opt:230
+#: params.opt:235
#, no-c-format
msgid ""
"The scale (in percents) applied to inline-insns-single and auto limits when "
"heuristics hints that inlining is very profitable."
msgstr ""
-#: params.opt:234
+#: params.opt:239
#, no-c-format
msgid ""
"The minimal estimated speedup allowing inliner to ignore inline-insns-single "
"and inline-insns-auto."
msgstr ""
-#: params.opt:238
+#: params.opt:243
#, no-c-format
msgid ""
"How much can given compilation unit grow because of the inlining (in "
"percent)."
msgstr ""
-#: params.opt:242
+#: params.opt:247
#, no-c-format
msgid "The upper bound for sharing integer constants."
msgstr ""
-#: params.opt:246
+#: params.opt:251
#, no-c-format
msgid ""
"Threshold ipa-cp opportunity evaluation that is still considered beneficial "
"to clone."
msgstr ""
-#: params.opt:250
+#: params.opt:255
#, no-c-format
msgid ""
"Compile-time bonus IPA-CP assigns to candidates which make loop bounds or "
"strides known."
msgstr ""
-#: params.opt:254
+#: params.opt:259
#, no-c-format
msgid "Maximum depth of recursive cloning for self-recursive function."
msgstr ""
-#: params.opt:258
+#: params.opt:263
#, no-c-format
msgid ""
"Recursive cloning only when the probability of call being executed exceeds "
"the parameter."
msgstr ""
-#: params.opt:262
+#: params.opt:267
#, no-c-format
msgid ""
"Percentage penalty the recursive functions will receive when they are "
"evaluated for cloning."
msgstr ""
-#: params.opt:266
+#: params.opt:271
#, no-c-format
msgid ""
"Percentage penalty functions containing a single call to another function "
"will receive when they are evaluated for cloning."
msgstr ""
-#: params.opt:270
+#: params.opt:275
#, no-c-format
msgid ""
"How much can given compilation unit grow because of the interprocedural "
"constant propagation (in percent)."
msgstr ""
-#: params.opt:274
+#: params.opt:279
#, no-c-format
msgid "The size of translation unit that IPA-CP pass considers large."
msgstr ""
-#: params.opt:278
+#: params.opt:283
#, no-c-format
msgid ""
"Maximum size of a list of values associated with each parameter for "
"interprocedural constant propagation."
msgstr ""
-#: params.opt:282
+#: params.opt:287
#, no-c-format
msgid ""
"Maximum number of statements visited during jump function offset discovery."
msgstr ""
-#: params.opt:286
+#: params.opt:291
#, 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:295
#, no-c-format
msgid ""
"Maximum number of aggregate content items for a parameter in jump functions "
"and lattices."
msgstr ""
-#: params.opt:294
+#: params.opt:299
#, 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:303
#, no-c-format
msgid ""
"Maximum number of different predicates used to track properties of loops in "
"IPA analysis."
msgstr ""
-#: params.opt:302
+#: params.opt:307
#, 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:311
#, 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:310
+#: params.opt:315
#, no-c-format
msgid ""
"Maximum allowed growth of number and total size of new parameters that ipa-"
"sra replaces a pointer to an aggregate with."
msgstr ""
-#: params.opt:314
+#: params.opt:319
#, no-c-format
msgid ""
"The number of registers in each class kept unused by loop invariant motion."
msgstr ""
-#: params.opt:318
+#: params.opt:323
#, no-c-format
msgid "Max size of conflict table in MB."
msgstr ""
-#: params.opt:322
+#: params.opt:327
#, no-c-format
msgid "Max loops number for regional RA."
msgstr ""
-#: params.opt:326
+#: params.opt:331
#, 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:330
+#: params.opt:335
#, no-c-format
msgid ""
"Bound on number of candidates below that all candidates are considered in iv "
"optimizations."
msgstr ""
-#: params.opt:334
+#: params.opt:339
#, no-c-format
msgid "Bound on number of iv uses in loop optimized in iv optimizations."
msgstr ""
-#: params.opt:338
+#: params.opt:343
#, 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:342
+#: params.opt:347
#, 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:346
+#: params.opt:351
#, no-c-format
msgid "The size of L1 cache line."
msgstr ""
-#: params.opt:350
+#: params.opt:355
#, no-c-format
msgid "The size of L1 cache."
msgstr ""
-#: params.opt:354
+#: params.opt:359
#, no-c-format
msgid "The size of L2 cache."
msgstr ""
-#: params.opt:358
+#: params.opt:363
#, no-c-format
msgid "Maximal growth due to inlining of large function (in percent)."
msgstr ""
-#: params.opt:362
+#: params.opt:367
#, no-c-format
msgid "The size of function body to be considered large."
msgstr ""
-#: params.opt:366
+#: params.opt:371
#, no-c-format
msgid "The size of stack frame to be considered large."
msgstr ""
-#: params.opt:370
+#: params.opt:375
#, no-c-format
msgid "Maximal stack frame growth due to inlining (in percent)."
msgstr ""
-#: params.opt:374
+#: params.opt:379
#, no-c-format
msgid "The size of translation unit to be considered large."
msgstr ""
-#: params.opt:378
+#: params.opt:383
#, no-c-format
msgid "Maximum number of concurrently open C++ module files when lazy loading."
msgstr ""
-#: params.opt:382
+#: params.opt:387
#, no-c-format
msgid ""
"The minimum cost of an expensive expression in the loop invariant motion."
msgstr ""
-#: params.opt:386
+#: params.opt:391
#, no-c-format
msgid "True if a non-short-circuit operation is optimal."
msgstr ""
-#: params.opt:390
+#: params.opt:395
#, no-c-format
msgid "Size of tiles for loop blocking."
msgstr ""
-#: params.opt:394
+#: params.opt:399
#, no-c-format
msgid "The maximum number of stmts in loop nest for loop interchange."
msgstr ""
-#: params.opt:398
+#: params.opt:403
#, no-c-format
msgid "The minimum stride ratio for loop interchange to be profitable."
msgstr ""
-#: params.opt:402
+#: params.opt:407
#, no-c-format
msgid "Max basic blocks number in loop for loop invariant motion."
msgstr ""
-#: params.opt:406
+#: params.opt:411
#, no-c-format
msgid "Maximum number of datarefs in loop for building loop data dependencies."
msgstr ""
-#: params.opt:410
+#: params.opt:415
#, no-c-format
msgid ""
"The maximum number of instructions in an inner loop that is being considered "
"for versioning."
msgstr ""
-#: params.opt:414
+#: params.opt:419
#, 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:418
+#: params.opt:423
#, no-c-format
msgid ""
"Minimal fall-through edge probability in percentage used to add BB to "
"inheritance EBB in LRA."
msgstr ""
-#: params.opt:422
+#: params.opt:427
#, no-c-format
msgid ""
"The max number of reload pseudos which are considered during spilling a non-"
"reload pseudo."
msgstr ""
-#: params.opt:426
+#: params.opt:431
#, no-c-format
msgid "Maximal size of a partition for LTO (in estimated instructions)."
msgstr ""
-#: params.opt:430
+#: params.opt:435
#, no-c-format
msgid "maximal number of LTO partitions streamed in parallel."
msgstr ""
-#: params.opt:434
+#: params.opt:439
#, no-c-format
msgid "Minimal size of a partition for LTO (in estimated instructions)."
msgstr ""
-#: params.opt:438
+#: params.opt:443
#, no-c-format
msgid "Number of partitions the program should be split to."
msgstr ""
-#: params.opt:442
+#: params.opt:447
#, no-c-format
msgid ""
"The maximum number of instructions to consider to unroll in a loop on "
"average."
msgstr ""
-#: params.opt:446
+#: params.opt:451
#, no-c-format
msgid "The maximum number of insns combine tries to combine."
msgstr ""
-#: params.opt:450
+#: params.opt:455
#, no-c-format
msgid "The maximum depth of a loop nest we completely peel."
msgstr ""
-#: params.opt:454
+#: params.opt:459
#, no-c-format
msgid ""
"The maximum number of peelings of a single loop that is peeled completely."
msgstr ""
-#: params.opt:458
+#: params.opt:463
#, no-c-format
msgid "The maximum number of insns of a completely peeled loop."
msgstr ""
-#: params.opt:462
+#: params.opt:467
#, no-c-format
msgid "The maximum number of incoming edges to consider for crossjumping."
msgstr ""
-#: params.opt:466
+#: params.opt:471
#, no-c-format
msgid "The maximum instructions CSE process before flushing."
msgstr ""
-#: params.opt:470
+#: params.opt:475
#, no-c-format
msgid "The maximum length of path considered in cse."
msgstr ""
-#: params.opt:474
+#: params.opt:479
#, no-c-format
msgid "The maximum memory locations recorded by cselib."
msgstr ""
-#: params.opt:478
+#: params.opt:483
#, no-c-format
msgid "Max. count of debug markers to expand or inline."
msgstr ""
-#: params.opt:482
+#: params.opt:487
#, no-c-format
msgid "The maximum number of instructions to consider to fill a delay slot."
msgstr ""
-#: params.opt:486
+#: params.opt:491
#, no-c-format
msgid ""
"The maximum number of instructions to consider to find accurate live "
"register information."
msgstr ""
-#: params.opt:490
+#: params.opt:495
#, no-c-format
msgid "Maximum number of active local stores in RTL dead store elimination."
msgstr ""
-#: params.opt:494
+#: params.opt:499
#, no-c-format
msgid ""
"The maximum number of nested indirect inlining performed by early inliner."
msgstr ""
-#: params.opt:498
+#: params.opt:503
#, no-c-format
msgid ""
"Maximum number of fields in a structure before pointer analysis treats the "
"structure as a single variable."
msgstr ""
-#: params.opt:502
+#: params.opt:507
#, no-c-format
msgid ""
"Maximum number of basic blocks on a finite state automaton jump thread path."
msgstr ""
-#: params.opt:506
+#: params.opt:511
#, no-c-format
msgid ""
"Maximum number of instructions to copy when duplicating blocks on a finite "
"state automaton jump thread path."
msgstr ""
-#: params.opt:510
+#: params.opt:515
#, no-c-format
msgid ""
"Maximum number of new jump thread paths to create for a finite state "
"automaton."
msgstr ""
-#: params.opt:514
+#: params.opt:519
#, no-c-format
msgid "The maximum ratio of insertions to deletions of expressions in GCSE."
msgstr ""
-#: params.opt:518
+#: params.opt:523
#, no-c-format
msgid "The maximum amount of memory to be allocated by GCSE, in kilobytes."
msgstr ""
-#: params.opt:522
+#: params.opt:527
#, no-c-format
msgid ""
"The maximum number of insns to duplicate when unfactoring computed gotos."
msgstr ""
-#: params.opt:526
+#: params.opt:531
#, no-c-format
msgid "The maximum expansion factor when copying basic blocks."
msgstr ""
-#: params.opt:530
+#: params.opt:535
#, no-c-format
msgid "Maximum depth of search in the dominator tree for expressions to hoist."
msgstr ""
-#: params.opt:534
+#: params.opt:539
#, no-c-format
msgid "The maximum number of instructions when automatically inlining."
msgstr ""
-#: params.opt:538
+#: params.opt:543
#, no-c-format
msgid ""
"The maximum number of instructions inline function can grow to via recursive "
"inlining."
msgstr ""
-#: params.opt:542
+#: params.opt:547
#, no-c-format
msgid ""
"The maximum number of instructions non-inline function can grow to via "
"recursive inlining."
msgstr ""
-#: params.opt:546
+#: params.opt:551
#, no-c-format
msgid ""
"The maximum number of instructions in a single function eligible for "
"inlining."
msgstr ""
-#: params.opt:550
+#: params.opt:555
#, no-c-format
msgid "The maximum number of instructions when inlining for size."
msgstr ""
-#: params.opt:554
+#: params.opt:559
#, no-c-format
msgid ""
"The maximum number of instructions when automatically inlining small "
"functions."
msgstr ""
-#: params.opt:558
+#: params.opt:563
#, no-c-format
msgid "The maximum depth of recursive inlining for inline functions."
msgstr ""
-#: params.opt:562
+#: params.opt:567
#, no-c-format
msgid "The maximum depth of recursive inlining for non-inline functions."
msgstr ""
-#: params.opt:566
+#: params.opt:571
#, no-c-format
msgid "Maximum number of isl operations, 0 means unlimited."
msgstr ""
-#: params.opt:570
+#: params.opt:575
#, no-c-format
msgid "Bound on the cost of an expression to compute the number of iterations."
msgstr ""
-#: params.opt:574
+#: params.opt:579
#, no-c-format
msgid ""
"Bound on the number of iterations the brute force # of iterations analysis "
"algorithm evaluates."
msgstr ""
-#: params.opt:578
+#: params.opt:583
#, no-c-format
msgid ""
"Maximum number of statements allowed in a block that needs to be duplicated "
"when threading jumps."
msgstr ""
-#: params.opt:582
+#: params.opt:587
#, no-c-format
msgid ""
"The maximum number of RTL nodes that can be recorded as combiner's last "
"value."
msgstr ""
-#: params.opt:586
+#: params.opt:591
#, no-c-format
msgid ""
"The maximum number of insns in loop header duplicated by the copy loop "
"headers pass."
msgstr ""
-#: params.opt:590
+#: params.opt:595
#, no-c-format
msgid ""
"The maximum number of backtrack attempts the scheduler should make when "
"modulo scheduling a loop."
msgstr ""
-#: params.opt:594
+#: params.opt:599
#, no-c-format
msgid ""
"Maximum length of partial antic set when performing tree pre optimization."
msgstr ""
-#: params.opt:598
+#: params.opt:603
#, no-c-format
msgid "The maximum number of branches on the path through the peeled sequence."
msgstr ""
-#: params.opt:602
+#: params.opt:607
#, no-c-format
msgid "The maximum number of peelings of a single loop."
msgstr ""
-#: params.opt:606
+#: params.opt:611
#, no-c-format
msgid "The maximum number of insns of a peeled loop."
msgstr ""
-#: params.opt:610
+#: params.opt:615
#, no-c-format
msgid "The maximum length of scheduling's pending operations list."
msgstr ""
-#: params.opt:614 params.opt:658
+#: params.opt:619 params.opt:663
#, no-c-format
msgid ""
"The maximum number of blocks in a region to be considered for interblock "
"scheduling."
msgstr ""
-#: params.opt:618 params.opt:662
+#: params.opt:623 params.opt:667
#, no-c-format
msgid ""
"The maximum number of insns in a region to be considered for interblock "
"scheduling."
msgstr ""
-#: params.opt:622
+#: params.opt:627
#, no-c-format
msgid ""
"Maximum depth of sqrt chains to use when synthesizing exponentiation by a "
"real constant."
msgstr ""
-#: params.opt:626
+#: params.opt:631
#, no-c-format
msgid "The maximum number of loop iterations we predict statically."
msgstr ""
-#: params.opt:630
+#: params.opt:635
#, no-c-format
msgid ""
"The maximum number of instructions to search backward when looking for "
"equivalent reload."
msgstr ""
-#: params.opt:634
+#: params.opt:639
#, no-c-format
msgid ""
"Maximum number of insns in a basic block to consider for RTL if-conversion."
msgstr ""
-#: params.opt:638
+#: params.opt:643
#, 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:642
+#: params.opt:647
#, 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:646
+#: params.opt:651
#, no-c-format
msgid "The maximum number of iterations through CFG to extend regions."
msgstr ""
-#: params.opt:650
+#: params.opt:655
#, no-c-format
msgid ""
"The maximum conflict delay for an insn to be considered for speculative "
"motion."
msgstr ""
-#: params.opt:654
+#: params.opt:659
#, 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:666
+#: params.opt:671
#, no-c-format
msgid "Maximum length of candidate scans for straight-line strength reduction."
msgstr ""
-#: params.opt:670
+#: params.opt:675
#, no-c-format
msgid "Maximum number of may-defs visited when devirtualizing speculatively."
msgstr ""
-#: params.opt:674
+#: params.opt:679
#, no-c-format
msgid ""
"Maximum recursion depth allowed when querying a property of an SSA name."
msgstr ""
-#: params.opt:678
+#: params.opt:683
#, no-c-format
msgid "Maximum number of constant stores to merge in the store merging pass."
msgstr ""
-#: params.opt:682
+#: params.opt:687
#, no-c-format
msgid "Maximum number of conditional store pairs that can be sunk."
msgstr ""
-#: params.opt:686 params.opt:690
+#: params.opt:691 params.opt:695
#, no-c-format
msgid ""
"Maximum number of store chains to track at the same time in the store "
"merging pass."
msgstr ""
-#: params.opt:694
+#: params.opt:699
#, no-c-format
msgid "Maximum amount of similar bbs to compare a bb with."
msgstr ""
-#: params.opt:698
+#: params.opt:703
#, no-c-format
msgid "Maximum amount of iterations of the pass over a function."
msgstr ""
-#: params.opt:702
+#: params.opt:707
#, no-c-format
msgid ""
"Maximum number of strings for which strlen optimization pass will track "
"string lengths."
msgstr ""
-#: params.opt:706
+#: params.opt:711
#, 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:710
+#: params.opt:715
#, no-c-format
msgid "The maximum number of unrollings of a single loop."
msgstr ""
-#: params.opt:714
+#: params.opt:719
#, no-c-format
msgid "The maximum number of instructions to consider to unroll in a loop."
msgstr ""
-#: params.opt:718
+#: params.opt:723
#, no-c-format
msgid "The maximum number of insns of an unswitched loop."
msgstr ""
-#: params.opt:722
+#: params.opt:727
#, no-c-format
msgid "The maximum number of unswitchings in a single loop."
msgstr ""
-#: params.opt:726
+#: params.opt:731
#, 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:730
+#: params.opt:735
#, no-c-format
msgid "Max. recursion depth for expanding var tracking expressions."
msgstr ""
-#: params.opt:734
+#: params.opt:739
#, no-c-format
msgid "Max. size of loc list for which reverse ops should be added."
msgstr ""
-#: params.opt:738
+#: params.opt:743
#, no-c-format
msgid "Max. size of var tracking hash tables."
msgstr ""
-#: params.opt:742
+#: params.opt:747
#, no-c-format
msgid "Maximum number of VALUEs handled during a single find_base_term call."
msgstr ""
-#: params.opt:746
+#: params.opt:751
#, no-c-format
msgid ""
"Maximum number of assertions to add along the default edge of a switch "
"statement during VRP."
msgstr ""
-#: params.opt:750
+#: params.opt:755
#, no-c-format
msgid ""
"The minimum number of matching instructions to consider for crossjumping."
msgstr ""
-#: params.opt:754
+#: params.opt:759
#, no-c-format
msgid ""
"Inline recursively only when the probability of call being executed exceeds "
"the parameter."
msgstr ""
-#: params.opt:758
+#: params.opt:763
#, no-c-format
msgid ""
"Min. ratio of insns to prefetches to enable prefetching for a loop with an "
"unknown trip count."
msgstr ""
-#: params.opt:762
+#: params.opt:767
#, no-c-format
msgid ""
"The minimum threshold for probability of semi-invariant condition statement "
"to trigger loop split."
msgstr ""
-#: params.opt:766
+#: params.opt:771
#, no-c-format
msgid "The minimum UID to be used for a nondebug insn."
msgstr ""
-#: params.opt:770
+#: params.opt:775
#, no-c-format
msgid ""
"The minimum size of variables taking part in stack slot sharing when not "
"optimizing."
msgstr ""
-#: params.opt:774
+#: params.opt:779
#, no-c-format
msgid ""
"The minimum probability of reaching a source block for interblock "
"speculative scheduling."
msgstr ""
-#: params.opt:778
+#: params.opt:783
#, no-c-format
msgid ""
"If -ftree-vectorize is used, the minimal loop bound of a loop to be "
"considered for vectorization."
msgstr ""
-#: params.opt:782
+#: params.opt:787
+#, no-c-format
+msgid ""
+"--param=openacc-kernels=[decompose|parloops]\tSpecify mode of OpenACC "
+"'kernels' constructs handling."
+msgstr ""
+
+#: params.opt:800
#, no-c-format
msgid "Chunk size of omp schedule for loops parallelized by parloops."
msgstr ""
-#: params.opt:786
+#: params.opt:804
#, no-c-format
msgid ""
"Minimum number of iterations per thread of an innermost parallelized loop."
msgstr ""
-#: params.opt:790
+#: params.opt:808
#, 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:812
+#: params.opt:830
#, 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:816
+#: params.opt:834
#, no-c-format
msgid "Maximal estimated outcome of branch considered predictable."
msgstr ""
-#: params.opt:820
+#: params.opt:838
#, no-c-format
msgid ""
"Whether software prefetch hints should be issued for non-constant strides."
msgstr ""
-#: params.opt:824
+#: params.opt:842
#, no-c-format
msgid "The number of insns executed before prefetch is completed."
msgstr ""
-#: params.opt:828
+#: params.opt:846
#, no-c-format
msgid "Min. ratio of insns to mem ops to enable prefetching in a loop."
msgstr ""
-#: params.opt:832
+#: params.opt:850
#, no-c-format
msgid ""
"The minimum constant stride beyond which we should use prefetch hints for."
msgstr ""
-#: params.opt:836
+#: params.opt:854
#, no-c-format
msgid "Use internal function id in profile lookup."
msgstr ""
-#: params.opt:840
+#: params.opt:858
#, no-c-format
msgid "Maximum depth of a loop nest to fully value-number optimistically."
msgstr ""
-#: params.opt:844
+#: params.opt:862
#, no-c-format
msgid "Maximum number of disambiguations to perform per memory access."
msgstr ""
-#: params.opt:848
+#: params.opt:866
#, no-c-format
msgid ""
"Bound on the complexity of the expressions in the scalar evolutions analyzer."
msgstr ""
-#: params.opt:852
+#: params.opt:870
#, no-c-format
msgid "Bound on size of expressions used in the scalar evolutions analyzer."
msgstr ""
-#: params.opt:856
+#: params.opt:874
#, no-c-format
msgid ""
"Hardware autoprefetcher scheduler model control flag. Number of lookahead "
@@ -21151,273 +21163,273 @@ msgid ""
"heuristic. Disabled by default."
msgstr ""
-#: params.opt:860
+#: params.opt:878
#, no-c-format
msgid "Minimal distance between possibly conflicting store and load."
msgstr ""
-#: params.opt:864
+#: params.opt:882
#, no-c-format
msgid "Which -fsched-pressure algorithm to apply."
msgstr ""
-#: params.opt:868
+#: params.opt:886
#, no-c-format
msgid ""
"The minimal probability of speculation success (in percents), so that "
"speculative insn will be scheduled."
msgstr ""
-#: params.opt:872
+#: params.opt:890
#, no-c-format
msgid ""
"The minimum probability an edge must have for the scheduler to save its "
"state across it."
msgstr ""
-#: params.opt:876
+#: params.opt:894
#, no-c-format
msgid ""
"Maximum number of instructions in the ready list that are considered "
"eligible for renaming."
msgstr ""
-#: params.opt:880
+#: params.opt:898
#, no-c-format
msgid "The maximum size of the lookahead window of selective scheduling."
msgstr ""
-#: params.opt:884
+#: params.opt:902
#, no-c-format
msgid "Maximum number of times that an insn could be scheduled."
msgstr ""
-#: params.opt:888
+#: params.opt:906
#, no-c-format
msgid "The number of prefetches that can run at the same time."
msgstr ""
-#: params.opt:892
+#: params.opt:910
#, no-c-format
msgid ""
"Target block's relative execution frequency (as a percentage) required to "
"sink a statement."
msgstr ""
-#: params.opt:896
+#: params.opt:914
#, no-c-format
msgid ""
"The number of cycles the swing modulo scheduler considers when checking "
"conflicts using DFA."
msgstr ""
-#: params.opt:900
+#: params.opt:918
#, no-c-format
msgid ""
"A threshold on the average loop count considered by the swing modulo "
"scheduler."
msgstr ""
-#: params.opt:904
+#: params.opt:922
#, no-c-format
msgid ""
"A factor for tuning the upper bound that swing modulo scheduler uses for "
"scheduling a loop."
msgstr ""
-#: params.opt:908
+#: params.opt:926
#, no-c-format
msgid ""
"The minimum value of stage count that swing modulo scheduler will generate."
msgstr ""
-#: params.opt:912
+#: params.opt:930
#, 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:916
+#: params.opt:934
#, 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:920
+#: params.opt:938
#, 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:924
+#: params.opt:942
#, no-c-format
msgid ""
"The maximum number of SSA_NAME assignments to follow in determining a value."
msgstr ""
-#: params.opt:928
+#: params.opt:946
#, no-c-format
msgid ""
"The lower bound for a buffer to be considered for stack smashing protection."
msgstr ""
-#: params.opt:932
+#: params.opt:950
#, no-c-format
msgid "Size of the stack guard expressed as a power of two in bytes."
msgstr ""
-#: params.opt:936
+#: params.opt:954
#, no-c-format
msgid ""
"Interval in which to probe the stack expressed as a power of two in bytes."
msgstr ""
-#: params.opt:940
+#: params.opt:958
#, no-c-format
msgid ""
"Allow the store merging pass to introduce unaligned stores if it is legal to "
"do so."
msgstr ""
-#: params.opt:944
+#: params.opt:962
#, no-c-format
msgid "Maximum size of a single store merging region in bytes."
msgstr ""
-#: params.opt:948
+#: params.opt:966
#, no-c-format
msgid ""
"The maximum ratio between array size and switch branches for a switch "
"conversion to take place."
msgstr ""
-#: params.opt:952
+#: params.opt:970
#, no-c-format
msgid "Maximum number of bases stored in each modref tree."
msgstr ""
-#: params.opt:956
+#: params.opt:974
#, no-c-format
msgid "Maximum number of references stored in each modref base."
msgstr ""
-#: params.opt:960
+#: params.opt:978
#, no-c-format
msgid "Maximum number of accesses stored in each modref reference."
msgstr ""
-#: params.opt:964
+#: params.opt:982
#, no-c-format
msgid "Maximum number of tests performed by modref query."
msgstr ""
-#: params.opt:968
+#: params.opt:986
#, no-c-format
msgid "Maximum depth of DFS walk used by modref escape analysis."
msgstr ""
-#: params.opt:972
+#: params.opt:990
#, no-c-format
msgid "Maximum number of escape points tracked by modref per SSA-name."
msgstr ""
-#: params.opt:976
+#: params.opt:994
#, 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:980
+#: params.opt:998
#, 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:984
+#: params.opt:1002
#, 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:988
+#: params.opt:1006
#, no-c-format
msgid "Maximal code growth caused by tail duplication (in percent)."
msgstr ""
-#: params.opt:992
+#: params.opt:1010
#, 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:996
+#: params.opt:1014
#, 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:1000
+#: params.opt:1018
#, no-c-format
msgid ""
"Stop reverse growth if the reverse probability of best edge is less than "
"this threshold (in percent)."
msgstr ""
-#: params.opt:1004
+#: params.opt:1022
#, 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:1008
+#: params.opt:1026
#, no-c-format
msgid "Emit special instrumentation for accesses to volatiles."
msgstr ""
-#: params.opt:1012
+#: params.opt:1030
#, no-c-format
msgid ""
"Emit instrumentation calls to __tsan_func_entry() and __tsan_func_exit()."
msgstr ""
-#: params.opt:1016
+#: params.opt:1034
#, no-c-format
msgid ""
"Maximum number of nested calls to search for control dependencies during "
"uninitialized variable analysis."
msgstr ""
-#: params.opt:1020
+#: params.opt:1038
#, no-c-format
msgid ""
"Instruction accounted for function prologue, epilogue and other overhead."
msgstr ""
-#: params.opt:1024
+#: params.opt:1042
#, no-c-format
msgid "Time accounted for function prologue, epilogue and other overhead."
msgstr ""
-#: params.opt:1028
+#: params.opt:1046
#, no-c-format
msgid "Instruction accounted for function thunk overhead."
msgstr ""
-#: params.opt:1032
+#: params.opt:1050
#, no-c-format
msgid "Time accounted for function thunk overhead."
msgstr ""
-#: params.opt:1036
+#: params.opt:1054
#, no-c-format
msgid ""
"The denominator n of fraction 1/n of the number of profiled runs of the "
@@ -21425,57 +21437,57 @@ msgid ""
"order for the basic block to be considered unlikely."
msgstr ""
-#: params.opt:1040
+#: params.opt:1058
#, no-c-format
msgid "Maximum unroll factor for the unroll-and-jam transformation."
msgstr ""
-#: params.opt:1044
+#: params.opt:1062
#, no-c-format
msgid ""
"Minimum percentage of memrefs that must go away for unroll-and-jam to be "
"considered profitable."
msgstr ""
-#: params.opt:1048
+#: params.opt:1066
#, no-c-format
msgid ""
"Use direct poisoning/unpoisoning instructions for variables smaller or equal "
"to this number."
msgstr ""
-#: params.opt:1052
+#: params.opt:1070
#, no-c-format
msgid "Whether to use canonical types."
msgstr ""
-#: params.opt:1056
+#: params.opt:1074
#, no-c-format
msgid "Enable loop epilogue vectorization using smaller vector size."
msgstr ""
-#: params.opt:1060
+#: params.opt:1078
#, no-c-format
msgid ""
"Maximum number of loop peels to enhance alignment of data references in a "
"loop."
msgstr ""
-#: params.opt:1064
+#: params.opt:1082
#, no-c-format
msgid ""
"Bound on number of runtime checks inserted by the vectorizer's loop "
"versioning for alias check."
msgstr ""
-#: params.opt:1068
+#: params.opt:1086
#, no-c-format
msgid ""
"Bound on number of runtime checks inserted by the vectorizer's loop "
"versioning for alignment check."
msgstr ""
-#: params.opt:1072
+#: params.opt:1090
#, no-c-format
msgid ""
"Controls how loop vectorizer uses partial vectors. 0 means never, 1 means "
@@ -21509,7 +21521,7 @@ msgid "expected boolean type"
msgstr ""
#: go/gofrontend/expressions.cc:5155 c/c-parser.c:15375 c/c-parser.c:15382
-#: cp/parser.c:37455 cp/parser.c:37462
+#: cp/parser.c:37508 cp/parser.c:37515
#, gcc-internal-format
msgid "expected integer"
msgstr ""
@@ -21573,7 +21585,7 @@ msgstr ""
#: go/gofrontend/expressions.cc:10181 go/gofrontend/expressions.cc:10262
#: go/gofrontend/expressions.cc:10335 go/gofrontend/expressions.cc:11146
#: go/gofrontend/expressions.cc:12226 go/gofrontend/expressions.cc:12240
-#: go/gofrontend/expressions.cc:12261 cp/pt.c:9041
+#: go/gofrontend/expressions.cc:12261 cp/pt.c:9071
#, gcc-internal-format
msgid "too many arguments"
msgstr ""
@@ -21930,7 +21942,7 @@ msgstr ""
#: attribs.c:455 c-family/c-attribs.c:886 c-family/c-attribs.c:2340
#: c-family/c-attribs.c:2805 c-family/c-attribs.c:4513
-#: c-family/c-attribs.c:4606 cp/decl.c:15180 cp/friend.c:303 cp/tree.c:4932
+#: c-family/c-attribs.c:4606 cp/decl.c:15198 cp/friend.c:303 cp/tree.c:4993
#, gcc-internal-format
msgid "previous declaration here"
msgstr ""
@@ -21985,7 +21997,7 @@ msgstr ""
#. is a constraint violation if it is not one of the known
#. standard attributes. Diagnose it here with a pedwarn and
#. then discard it to prevent a duplicate warning later.
-#: attribs.c:729 attribs.c:1637 attribs.c:1647 attribs.c:1657
+#: attribs.c:729 attribs.c:1714 attribs.c:1724 attribs.c:1734
#: c-family/c-attribs.c:914 c-family/c-attribs.c:976 c-family/c-attribs.c:995
#: c-family/c-attribs.c:1013 c-family/c-attribs.c:1043
#: c-family/c-attribs.c:1064 c-family/c-attribs.c:1085
@@ -22014,20 +22026,20 @@ msgstr ""
#: c-family/c-attribs.c:5171 c-family/c-attribs.c:5253
#: c-family/c-attribs.c:5309 c-family/c-attribs.c:5325
#: c-family/c-attribs.c:5479 c-family/c-common.c:5809 c-family/c-common.c:5812
-#: config/darwin.c:2131 config/arm/arm.c:7253 config/arm/arm.c:7281
-#: config/arm/arm.c:7298 config/avr/avr.c:9675 config/csky/csky.c:6108
+#: config/darwin.c:2126 config/arm/arm.c:7262 config/arm/arm.c:7290
+#: config/arm/arm.c:7307 config/avr/avr.c:9675 config/csky/csky.c:6108
#: config/csky/csky.c:6130 config/h8300/h8300.c:4918 config/h8300/h8300.c:4942
-#: config/i386/i386-options.c:3474 config/i386/i386-options.c:3632
-#: config/i386/i386-options.c:3864 config/ia64/ia64.c:785
-#: config/rs6000/rs6000.c:20292 ada/gcc-interface/utils.c:6576
+#: config/i386/i386-options.c:3492 config/i386/i386-options.c:3650
+#: config/i386/i386-options.c:3882 config/ia64/ia64.c:785
+#: config/rs6000/rs6000.c:20409 ada/gcc-interface/utils.c:6576
#: ada/gcc-interface/utils.c:6592 ada/gcc-interface/utils.c:6621
#: ada/gcc-interface/utils.c:6638 ada/gcc-interface/utils.c:6655
#: ada/gcc-interface/utils.c:6670 ada/gcc-interface/utils.c:6686
#: ada/gcc-interface/utils.c:6712 ada/gcc-interface/utils.c:6781
#: ada/gcc-interface/utils.c:6808 ada/gcc-interface/utils.c:6829
#: ada/gcc-interface/utils.c:6850 ada/gcc-interface/utils.c:6866
-#: ada/gcc-interface/utils.c:6921 brig/brig-lang.c:484 c/c-decl.c:4624
-#: c/c-decl.c:4627 c/c-decl.c:4642 c/c-parser.c:4961 jit/dummy-frontend.c:185
+#: ada/gcc-interface/utils.c:6921 brig/brig-lang.c:484 c/c-decl.c:4623
+#: c/c-decl.c:4626 c/c-decl.c:4641 c/c-parser.c:4961 jit/dummy-frontend.c:185
#: lto/lto-lang.c:288
#, gcc-internal-format
msgid "%qE attribute ignored"
@@ -22038,8 +22050,8 @@ msgstr ""
msgid "missing %<target%> attribute for multi-versioned %qD"
msgstr ""
-#: attribs.c:1007 cp/decl.c:1200 cp/decl.c:2106 cp/decl.c:2152 cp/decl.c:2169
-#: cp/decl.c:2782 cp/decl.c:3237
+#: attribs.c:1007 cp/decl.c:1200 cp/decl.c:2104 cp/decl.c:2150 cp/decl.c:2167
+#: cp/decl.c:2777 cp/decl.c:3219
#, gcc-internal-format
msgid "previous declaration of %qD"
msgstr ""
@@ -22049,51 +22061,51 @@ msgstr ""
msgid "ignoring attributes applied to %qT after definition"
msgstr ""
-#: attribs.c:1568
+#: attribs.c:1645
#, gcc-internal-format
msgid "%q+D already declared with dllexport attribute: dllimport ignored"
msgstr ""
-#: attribs.c:1580
+#: attribs.c:1657
#, gcc-internal-format
msgid ""
"%q+D redeclared without dllimport attribute after being referenced with dll "
"linkage"
msgstr ""
-#: attribs.c:1594
+#: attribs.c:1671
#, gcc-internal-format
msgid "%q+D redeclared without dllimport attribute: previous dllimport ignored"
msgstr ""
-#: attribs.c:1675
+#: attribs.c:1752
#, gcc-internal-format
msgid "inline function %q+D declared as dllimport: attribute ignored"
msgstr ""
-#: attribs.c:1683
+#: attribs.c:1760
#, gcc-internal-format
msgid "function %q+D definition is marked dllimport"
msgstr ""
-#: attribs.c:1691
+#: attribs.c:1768
#, gcc-internal-format
msgid "variable %q+D definition is marked dllimport"
msgstr ""
-#: attribs.c:1722
+#: attribs.c:1799
#, gcc-internal-format
msgid "external linkage required for symbol %q+D because of %qE attribute"
msgstr ""
-#: attribs.c:1736
+#: attribs.c:1813
#, gcc-internal-format
msgid ""
"%qE implies default visibility, but %qD has already been declared with a "
"different visibility"
msgstr ""
-#: attribs.c:1999
+#: attribs.c:2076
#, gcc-internal-format
msgid "%qD specifies more restrictive attribute than its target %qD: %s"
msgid_plural ""
@@ -22101,12 +22113,12 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: attribs.c:2005 attribs.c:2025
+#: attribs.c:2082 attribs.c:2102
#, gcc-internal-format
msgid "%qD target declared here"
msgstr ""
-#: attribs.c:2019
+#: attribs.c:2096
#, gcc-internal-format
msgid "%qD specifies less restrictive attribute than its target %qD: %s"
msgid_plural ""
@@ -22215,7 +22227,7 @@ msgstr ""
msgid "offset %qwi outside bounds of constant string"
msgstr ""
-#: builtins.c:1454 cp/name-lookup.c:6424
+#: builtins.c:1454 cp/name-lookup.c:6441
#, gcc-internal-format
msgid "%qE declared here"
msgstr ""
@@ -22240,734 +22252,734 @@ msgstr ""
msgid "invalid third argument to %<__builtin_prefetch%>; using zero"
msgstr ""
-#: builtins.c:3954
+#: builtins.c:3958
#, gcc-internal-format
msgid "%K%qD specified bound %E may exceed maximum object size %E"
msgstr ""
-#: builtins.c:3956 calls.c:1730
+#: builtins.c:3960 calls.c:1730
#, gcc-internal-format
msgid "%K%qD specified bound %E exceeds maximum object size %E"
msgstr ""
-#: builtins.c:3961
+#: builtins.c:3965
#, gcc-internal-format
msgid "%Kspecified bound %E may exceed maximum object size %E"
msgstr ""
-#: builtins.c:3963
+#: builtins.c:3967
#, gcc-internal-format
msgid "%Kspecified bound %E exceeds maximum object size %E"
msgstr ""
-#: builtins.c:3970
+#: builtins.c:3974
#, gcc-internal-format
msgid "%K%qD specified bound [%E, %E] may exceed maximum object size %E"
msgstr ""
-#: builtins.c:3972 calls.c:1735
+#: builtins.c:3976 calls.c:1735
#, gcc-internal-format
msgid "%K%qD specified bound [%E, %E] exceeds maximum object size %E"
msgstr ""
-#: builtins.c:3978
+#: builtins.c:3982
#, gcc-internal-format
msgid "%Kspecified bound [%E, %E] may exceed maximum object size %E"
msgstr ""
-#: builtins.c:3980
+#: builtins.c:3984
#, gcc-internal-format
msgid "%Kspecified bound [%E, %E] exceeds maximum object size %E"
msgstr ""
-#: builtins.c:3990
+#: builtins.c:3994
#, gcc-internal-format
msgid "%K%qD specified bound %E may exceed source size %E"
msgstr ""
-#: builtins.c:3992
+#: builtins.c:3996
#, gcc-internal-format
msgid "%K%qD specified bound %E exceeds source size %E"
msgstr ""
-#: builtins.c:3997
+#: builtins.c:4001
#, gcc-internal-format
msgid "%Kspecified bound %E may exceed source size %E"
msgstr ""
-#: builtins.c:3999
+#: builtins.c:4003
#, gcc-internal-format
msgid "%Kspecified bound %E exceeds source size %E"
msgstr ""
-#: builtins.c:4006
+#: builtins.c:4010
#, gcc-internal-format
msgid "%K%qD specified bound [%E, %E] may exceed source size %E"
msgstr ""
-#: builtins.c:4008
+#: builtins.c:4012
#, gcc-internal-format
msgid "%K%qD specified bound [%E, %E] exceeds source size %E"
msgstr ""
-#: builtins.c:4013
+#: builtins.c:4017
#, gcc-internal-format
msgid "%Kspecified bound [%E, %E] may exceed source size %E"
msgstr ""
-#: builtins.c:4015
+#: builtins.c:4019
#, gcc-internal-format
msgid "%Kspecified bound [%E, %E] exceeds source size %E"
msgstr ""
-#: builtins.c:4024
+#: builtins.c:4028
#, gcc-internal-format
msgid "source object declared here"
msgstr ""
-#: builtins.c:4027
+#: builtins.c:4031
#, gcc-internal-format
msgid "source object allocated here"
msgstr ""
-#: builtins.c:4042
+#: builtins.c:4046
#, gcc-internal-format
msgid "%K%qD specified size %E may exceed maximum object size %E"
msgstr ""
-#: builtins.c:4044
+#: builtins.c:4048
#, gcc-internal-format
msgid "%K%qD specified size %E exceeds maximum object size %E"
msgstr ""
-#: builtins.c:4049
+#: builtins.c:4053
#, gcc-internal-format
msgid "%Kspecified size %E may exceed maximum object size %E"
msgstr ""
-#: builtins.c:4051
+#: builtins.c:4055
#, gcc-internal-format
msgid "%Kspecified size %E exceeds maximum object size %E"
msgstr ""
-#: builtins.c:4058
+#: builtins.c:4062
#, gcc-internal-format
msgid ""
"%K%qD specified size between %E and %E may exceed maximum object size %E"
msgstr ""
-#: builtins.c:4060
+#: builtins.c:4064
#, gcc-internal-format
msgid "%K%qD specified size between %E and %E exceeds maximum object size %E"
msgstr ""
-#: builtins.c:4066
+#: builtins.c:4070
#, gcc-internal-format
msgid "%Kspecified size between %E and %E may exceed maximum object size %E"
msgstr ""
-#: builtins.c:4068
+#: builtins.c:4072
#, gcc-internal-format
msgid "%Kspecified size between %E and %E exceeds maximum object size %E"
msgstr ""
-#: builtins.c:4078
+#: builtins.c:4082
#, gcc-internal-format
msgid "%K%qD specified bound %E may exceed destination size %E"
msgstr ""
-#: builtins.c:4080
+#: builtins.c:4084
#, gcc-internal-format
msgid "%K%qD specified bound %E exceeds destination size %E"
msgstr ""
-#: builtins.c:4085
+#: builtins.c:4089
#, gcc-internal-format
msgid "%Kspecified bound %E may exceed destination size %E"
msgstr ""
-#: builtins.c:4087
+#: builtins.c:4091
#, gcc-internal-format
msgid "%Kspecified bound %E exceeds destination size %E"
msgstr ""
-#: builtins.c:4094
+#: builtins.c:4098
#, gcc-internal-format
msgid "%K%qD specified bound [%E, %E] may exceed destination size %E"
msgstr ""
-#: builtins.c:4096
+#: builtins.c:4100
#, gcc-internal-format
msgid "%K%qD specified bound [%E, %E] exceeds destination size %E"
msgstr ""
-#: builtins.c:4101 builtins.c:4103
+#: builtins.c:4105 builtins.c:4107
#, gcc-internal-format
msgid "%Kspecified bound [%E, %E] exceeds destination size %E"
msgstr ""
-#: builtins.c:4113
+#: builtins.c:4117
#, gcc-internal-format
msgid "destination object declared here"
msgstr ""
-#: builtins.c:4116
+#: builtins.c:4120
#, gcc-internal-format
msgid "destination object allocated here"
msgstr ""
-#: builtins.c:4143
+#: builtins.c:4147
#, gcc-internal-format
msgid "%K%qD may access %E byte in a region of size %E"
msgstr ""
-#: builtins.c:4145
+#: builtins.c:4149
#, gcc-internal-format
msgid "%K%qD accessing %E byte in a region of size %E"
msgstr ""
-#: builtins.c:4148
+#: builtins.c:4152
#, gcc-internal-format
msgid "%K%qD may access %E bytes in a region of size %E"
msgstr ""
-#: builtins.c:4150
+#: builtins.c:4154
#, gcc-internal-format
msgid "%K%qD accessing %E bytes in a region of size %E"
msgstr ""
-#: builtins.c:4155
+#: builtins.c:4159
#, gcc-internal-format
msgid "%Kmay access %E byte in a region of size %E"
msgstr ""
-#: builtins.c:4157
+#: builtins.c:4161
#, gcc-internal-format
msgid "%Kaccessing %E byte in a region of size %E"
msgstr ""
-#: builtins.c:4160
+#: builtins.c:4164
#, gcc-internal-format
msgid "%Kmay access %E bytes in a region of size %E"
msgstr ""
-#: builtins.c:4162
+#: builtins.c:4166
#, gcc-internal-format
msgid "%Kaccessing %E bytes in a region of size %E"
msgstr ""
-#: builtins.c:4171
+#: builtins.c:4175
#, gcc-internal-format
msgid "%K%qD may access %E or more bytes in a region of size %E"
msgstr ""
-#: builtins.c:4173
+#: builtins.c:4177
#, gcc-internal-format
msgid "%K%qD accessing %E or more bytes in a region of size %E"
msgstr ""
-#: builtins.c:4178
+#: builtins.c:4182
#, gcc-internal-format
msgid "%Kmay access %E or more bytes in a region of size %E"
msgstr ""
-#: builtins.c:4180
+#: builtins.c:4184
#, gcc-internal-format
msgid "%Kaccessing %E or more bytes in a region of size %E"
msgstr ""
-#: builtins.c:4188
+#: builtins.c:4192
#, gcc-internal-format
msgid "%K%qD may access between %E and %E bytes in a region of size %E"
msgstr ""
-#: builtins.c:4190
+#: builtins.c:4194
#, gcc-internal-format
msgid "%K%qD accessing between %E and %E bytes in a region of size %E"
msgstr ""
-#: builtins.c:4196
+#: builtins.c:4200
#, gcc-internal-format
msgid "%Kmay access between %E and %E bytes in a region of size %E"
msgstr ""
-#: builtins.c:4198
+#: builtins.c:4202
#, gcc-internal-format
msgid "%Kaccessing between %E and %E bytes in a region of size %E"
msgstr ""
-#: builtins.c:4211
+#: builtins.c:4215
#, gcc-internal-format
msgid "%K%qD may write %E byte into a region of size %E"
msgstr ""
-#: builtins.c:4213
+#: builtins.c:4217
#, gcc-internal-format
msgid ""
"%K%qD writing %E byte into a region of size %E overflows the destination"
msgstr ""
-#: builtins.c:4216
+#: builtins.c:4220
#, gcc-internal-format
msgid "%K%qD may write %E bytes into a region of size %E"
msgstr ""
-#: builtins.c:4218
+#: builtins.c:4222
#, gcc-internal-format
msgid ""
"%K%qD writing %E bytes into a region of size %E overflows the destination"
msgstr ""
-#: builtins.c:4223
+#: builtins.c:4227
#, gcc-internal-format
msgid "%Kmay write %E byte into a region of size %E"
msgstr ""
-#: builtins.c:4225
+#: builtins.c:4229
#, gcc-internal-format
msgid "%Kwriting %E byte into a region of size %E overflows the destination"
msgstr ""
-#: builtins.c:4228
+#: builtins.c:4232
#, gcc-internal-format
msgid "%Kmay write %E bytes into a region of size %E"
msgstr ""
-#: builtins.c:4230
+#: builtins.c:4234
#, gcc-internal-format
msgid "%Kwriting %E bytes into a region of size %E overflows the destination"
msgstr ""
-#: builtins.c:4239
+#: builtins.c:4243
#, gcc-internal-format
msgid "%K%qD may write %E or more bytes into a region of size %E"
msgstr ""
-#: builtins.c:4241 builtins.c:4779
+#: builtins.c:4245 builtins.c:4783
#, gcc-internal-format
msgid ""
"%K%qD writing %E or more bytes into a region of size %E overflows the "
"destination"
msgstr ""
-#: builtins.c:4247
+#: builtins.c:4251
#, gcc-internal-format
msgid "%Kmay write %E or more bytes into a region of size %E"
msgstr ""
-#: builtins.c:4249 builtins.c:4784
+#: builtins.c:4253 builtins.c:4788
#, gcc-internal-format
msgid ""
"%Kwriting %E or more bytes into a region of size %E overflows the destination"
msgstr ""
-#: builtins.c:4258
+#: builtins.c:4262
#, gcc-internal-format
msgid "%K%qD may write between %E and %E bytes into a region of size %E"
msgstr ""
-#: builtins.c:4260
+#: builtins.c:4264
#, gcc-internal-format
msgid ""
"%K%qD writing between %E and %E bytes into a region of size %E overflows the "
"destination"
msgstr ""
-#: builtins.c:4267
+#: builtins.c:4271
#, gcc-internal-format
msgid "%Kmay write between %E and %E bytes into a region of size %E"
msgstr ""
-#: builtins.c:4269
+#: builtins.c:4273
#, gcc-internal-format
msgid ""
"%Kwriting between %E and %E bytes into a region of size %E overflows the "
"destination"
msgstr ""
-#: builtins.c:4284
+#: builtins.c:4288
#, gcc-internal-format
msgid "%K%qD may read %E byte from a region of size %E"
msgstr ""
-#: builtins.c:4286
+#: builtins.c:4290
#, gcc-internal-format
msgid "%K%qD reading %E byte from a region of size %E"
msgstr ""
-#: builtins.c:4289
+#: builtins.c:4293
#, gcc-internal-format
msgid "%K%qD may read %E bytes from a region of size %E"
msgstr ""
-#: builtins.c:4291
+#: builtins.c:4295
#, gcc-internal-format
msgid "%K%qD reading %E bytes from a region of size %E"
msgstr ""
-#: builtins.c:4297
+#: builtins.c:4301
#, gcc-internal-format
msgid "%Kmay read %E byte from a region of size %E"
msgstr ""
-#: builtins.c:4299
+#: builtins.c:4303
#, gcc-internal-format
msgid "%Kreading %E byte from a region of size %E"
msgstr ""
-#: builtins.c:4302
+#: builtins.c:4306
#, gcc-internal-format
msgid "%Kmay read %E bytes from a region of size %E"
msgstr ""
-#: builtins.c:4304
+#: builtins.c:4308
#, gcc-internal-format
msgid "%Kreading %E bytes from a region of size %E"
msgstr ""
-#: builtins.c:4313
+#: builtins.c:4317
#, gcc-internal-format
msgid "%K%qD may read %E or more bytes from a region of size %E"
msgstr ""
-#: builtins.c:4315
+#: builtins.c:4319
#, gcc-internal-format
msgid "%K%qD reading %E or more bytes from a region of size %E"
msgstr ""
-#: builtins.c:4320
+#: builtins.c:4324
#, gcc-internal-format
msgid "%Kmay read %E or more bytes from a region of size %E"
msgstr ""
-#: builtins.c:4322
+#: builtins.c:4326
#, gcc-internal-format
msgid "%Kreading %E or more bytes from a region of size %E"
msgstr ""
-#: builtins.c:4330
+#: builtins.c:4334
#, gcc-internal-format
msgid "%K%qD may read between %E and %E bytes from a region of size %E"
msgstr ""
-#: builtins.c:4332
+#: builtins.c:4336
#, gcc-internal-format
msgid "%K%qD reading between %E and %E bytes from a region of size %E"
msgstr ""
-#: builtins.c:4337
+#: builtins.c:4341
#, gcc-internal-format
msgid "%Kmay read between %E and %E bytes from a region of size %E"
msgstr ""
-#: builtins.c:4339
+#: builtins.c:4343
#, gcc-internal-format
msgid "%Kreading between %E and %E bytes from a region of size %E"
msgstr ""
-#: builtins.c:4354
+#: builtins.c:4358
#, gcc-internal-format
msgid "%K%qD expecting %E byte in a region of size %E"
msgid_plural "%K%qD expecting %E bytes in a region of size %E"
msgstr[0] ""
msgstr[1] ""
-#: builtins.c:4359
+#: builtins.c:4363
#, gcc-internal-format
msgid "%Kexpecting %E byte in a region of size %E"
msgid_plural "%Kexpecting %E bytes in a region of size %E"
msgstr[0] ""
msgstr[1] ""
-#: builtins.c:4367
+#: builtins.c:4371
#, gcc-internal-format
msgid "%K%qD expecting %E or more bytes in a region of size %E"
msgstr ""
-#: builtins.c:4371
+#: builtins.c:4375
#, gcc-internal-format
msgid "%Kexpecting %E or more bytes in a region of size %E"
msgstr ""
-#: builtins.c:4378
+#: builtins.c:4382
#, gcc-internal-format
msgid "%K%qD expecting between %E and %E bytes in a region of size %E"
msgstr ""
-#: builtins.c:4382
+#: builtins.c:4386
#, gcc-internal-format
msgid "%Kexpecting between %E and %E bytes in a region of size %E"
msgstr ""
-#: builtins.c:4545
+#: builtins.c:4549
#, gcc-internal-format
msgid "at offset %s into destination object %qE of size %s"
msgstr ""
-#: builtins.c:4548
+#: builtins.c:4552
#, gcc-internal-format
msgid "destination object %qE of size %s"
msgstr ""
-#: builtins.c:4554
+#: builtins.c:4558
#, gcc-internal-format
msgid "at offset %s into destination object of size %s allocated by %qE"
msgstr ""
-#: builtins.c:4557
+#: builtins.c:4561
#, gcc-internal-format
msgid "destination object of size %s allocated by %qE"
msgstr ""
-#: builtins.c:4565
+#: builtins.c:4569
#, gcc-internal-format
msgid "at offset %s into source object %qE of size %s"
msgstr ""
-#: builtins.c:4568
+#: builtins.c:4572
#, gcc-internal-format
msgid "source object %qE of size %s"
msgstr ""
-#: builtins.c:4575
+#: builtins.c:4579
#, gcc-internal-format
msgid "at offset %s into source object of size %s allocated by %qE"
msgstr ""
-#: builtins.c:4578
+#: builtins.c:4582
#, gcc-internal-format
msgid "source object of size %s allocated by %qE"
msgstr ""
-#: builtins.c:6425 builtins.c:6498
+#: builtins.c:6429 builtins.c:6502
#, gcc-internal-format
msgid "%K%qD specified bound %E equals destination size"
msgstr ""
-#: builtins.c:7390 gimplify.c:3383
+#: builtins.c:7394 gimplify.c:3383
#, gcc-internal-format
msgid "too few arguments to function %<va_start%>"
msgstr ""
-#: builtins.c:7490
+#: builtins.c:7494
#, gcc-internal-format
msgid "invalid argument to %qD"
msgstr ""
-#: builtins.c:7503
+#: builtins.c:7507
#, gcc-internal-format
msgid "unsupported argument to %qD"
msgstr ""
#. Warn since no effort is made to ensure that any frame
#. beyond the current one exists or can be safely reached.
-#: builtins.c:7511
+#: builtins.c:7515
#, gcc-internal-format
msgid "calling %qD with a nonzero argument is unsafe"
msgstr ""
-#: builtins.c:7841 builtins.c:7881
+#: builtins.c:7845 builtins.c:7885
#, gcc-internal-format
msgid "both arguments to %<__builtin___clear_cache%> must be pointers"
msgstr ""
-#: builtins.c:7971
+#: builtins.c:7975
#, gcc-internal-format
msgid "trampoline generated for nested function %qD"
msgstr ""
-#: builtins.c:8366 builtins.c:8379
+#: builtins.c:8370 builtins.c:8383
#, gcc-internal-format
msgid "%qD changed semantics in GCC 4.4"
msgstr ""
-#: builtins.c:8485
+#: builtins.c:8489
#, gcc-internal-format
msgid "unknown architecture specifier in memory model to builtin"
msgstr ""
-#: builtins.c:8493
+#: builtins.c:8497
#, gcc-internal-format
msgid "invalid memory model argument to builtin"
msgstr ""
-#: builtins.c:8554 builtins.c:8681
+#: builtins.c:8558 builtins.c:8685
#, gcc-internal-format
msgid ""
"failure memory model cannot be stronger than success memory model for "
"%<__atomic_compare_exchange%>"
msgstr ""
-#: builtins.c:8562 builtins.c:8689
+#: builtins.c:8566 builtins.c:8693
#, gcc-internal-format
msgid "invalid failure memory model for %<__atomic_compare_exchange%>"
msgstr ""
-#: builtins.c:8747
+#: builtins.c:8751
#, gcc-internal-format
msgid "invalid memory model for %<__atomic_load%>"
msgstr ""
-#: builtins.c:8779 builtins.c:8972
+#: builtins.c:8783 builtins.c:8976
#, gcc-internal-format
msgid "invalid memory model for %<__atomic_store%>"
msgstr ""
-#: builtins.c:9093
+#: builtins.c:9097
#, gcc-internal-format
msgid "non-constant argument 1 to %qs"
msgstr ""
-#: builtins.c:9135
+#: builtins.c:9139
#, gcc-internal-format
msgid "non-integer argument 1 to %qs"
msgstr ""
-#: builtins.c:9199
+#: builtins.c:9203
#, gcc-internal-format
msgid "%<__builtin_thread_pointer%> is not supported on this target"
msgstr ""
-#: builtins.c:9219
+#: builtins.c:9223
#, gcc-internal-format
msgid "%<__builtin_set_thread_pointer%> is not supported on this target"
msgstr ""
-#: builtins.c:9278
+#: builtins.c:9282
#, gcc-internal-format
msgid "%qs only supported in OpenACC code"
msgstr ""
-#: builtins.c:9285
+#: builtins.c:9289
#, gcc-internal-format
msgid "non-constant argument 0 to %qs"
msgstr ""
-#: builtins.c:9297
+#: builtins.c:9301
#, gcc-internal-format
msgid "illegal argument 0 to %qs"
msgstr ""
#. All valid uses of __builtin_va_arg_pack () are removed during
#. inlining.
-#: builtins.c:9755 expr.c:11247
+#: builtins.c:9759 expr.c:11247
#, gcc-internal-format
msgid "%Kinvalid use of %<__builtin_va_arg_pack ()%>"
msgstr ""
#. All valid uses of __builtin_va_arg_pack_len () are removed during
#. inlining.
-#: builtins.c:9761
+#: builtins.c:9765
#, gcc-internal-format
msgid "%Kinvalid use of %<__builtin_va_arg_pack_len ()%>"
msgstr ""
-#: builtins.c:10093
+#: builtins.c:10097
#, gcc-internal-format
msgid "%<__builtin_longjmp%> second argument must be 1"
msgstr ""
-#: builtins.c:10986
+#: builtins.c:10990
#, gcc-internal-format
msgid "target format does not support infinity"
msgstr ""
-#: builtins.c:12607
+#: builtins.c:12611
#, gcc-internal-format
msgid "%<va_start%> used in function with fixed arguments"
msgstr ""
-#: builtins.c:12615
+#: builtins.c:12619
#, gcc-internal-format
msgid "wrong number of arguments to function %<va_start%>"
msgstr ""
-#: builtins.c:12630
+#: builtins.c:12634
#, gcc-internal-format
msgid "%<__builtin_next_arg%> called without an argument"
msgstr ""
-#: builtins.c:12635
+#: builtins.c:12639
#, gcc-internal-format
msgid "wrong number of arguments to function %<__builtin_next_arg%>"
msgstr ""
-#: builtins.c:12668
+#: builtins.c:12672
#, gcc-internal-format
msgid "second parameter of %<va_start%> not last named argument"
msgstr ""
-#: builtins.c:12681
+#: builtins.c:12685
#, gcc-internal-format
msgid ""
"undefined behavior when second parameter of %<va_start%> is declared with "
"%<register%> storage"
msgstr ""
-#: builtins.c:12710
+#: builtins.c:12714
#, gcc-internal-format
msgid "%Kfirst argument of %qD must be a pointer, second integer constant"
msgstr ""
-#: builtins.c:12723
+#: builtins.c:12727
#, gcc-internal-format
msgid "%Klast argument of %qD is not integer constant between 0 and 3"
msgstr ""
-#: builtins.c:13526
+#: builtins.c:13530
#, gcc-internal-format
msgid "%K%qD called on pointer %qE with nonzero offset%s"
msgstr ""
-#: builtins.c:13531 builtins.c:13595 gimple-ssa-isolate-paths.c:412
-#: tree.c:13239 tree.c:13276 c/c-typeck.c:2939 c/c-typeck.c:3026
-#: c/c-typeck.c:5541 c/c-typeck.c:10767 c/c-typeck.c:10784
-#: c/gimple-parser.c:2416 c/gimple-parser.c:2424 cp/call.c:7278 cp/call.c:9295
-#: cp/constexpr.c:843 cp/constexpr.c:3583 cp/cvt.c:1077 cp/cvt.c:1115
-#: cp/decl.c:8251 cp/decl.c:15330 cp/decl.c:15709 cp/decl2.c:5623
-#: cp/decl2.c:5674 cp/parser.c:20758 cp/pt.c:8849 cp/semantics.c:2093
-#: cp/semantics.c:3337 cp/semantics.c:4424 cp/typeck.c:1803 cp/typeck.c:2020
-#: cp/typeck.c:4091 cp/typeck.c:9787
+#: builtins.c:13535 builtins.c:13599 gimple-ssa-isolate-paths.c:412
+#: tree.c:13239 tree.c:13276 c/c-typeck.c:2989 c/c-typeck.c:3076
+#: c/c-typeck.c:5601 c/c-typeck.c:10827 c/c-typeck.c:10844
+#: c/gimple-parser.c:2416 c/gimple-parser.c:2424 cp/call.c:7282 cp/call.c:9315
+#: cp/constexpr.c:844 cp/constexpr.c:3638 cp/cvt.c:1077 cp/cvt.c:1115
+#: cp/decl.c:8257 cp/decl.c:15348 cp/decl.c:15727 cp/decl2.c:5624
+#: cp/decl2.c:5675 cp/parser.c:20795 cp/pt.c:8879 cp/semantics.c:2112
+#: cp/semantics.c:3355 cp/semantics.c:4452 cp/typeck.c:1814 cp/typeck.c:2031
+#: cp/typeck.c:4102 cp/typeck.c:9794
#, gcc-internal-format
msgid "declared here"
msgstr ""
-#: builtins.c:13541 builtins.c:13666
+#: builtins.c:13545 builtins.c:13670
#, gcc-internal-format
msgid "returned from %qD"
msgstr ""
-#: builtins.c:13544
+#: builtins.c:13548
#, gcc-internal-format
msgid "returned from %qT"
msgstr ""
-#: builtins.c:13546
+#: builtins.c:13550
#, gcc-internal-format
msgid "obtained here"
msgstr ""
-#: builtins.c:13589
+#: builtins.c:13593
#, gcc-internal-format
msgid "%K%qD called on unallocated object %qD"
msgstr ""
-#: builtins.c:13609
+#: builtins.c:13613
#, gcc-internal-format
msgid "%K%qD called on a pointer to an unallocated object %qE"
msgstr ""
-#: builtins.c:13618
+#: builtins.c:13622
#, gcc-internal-format
msgid "assigned here"
msgstr ""
-#: builtins.c:13647
+#: builtins.c:13651
#, gcc-internal-format
msgid "%K%qD called on pointer returned from a mismatched allocation function"
msgstr ""
-#: builtins.c:13656
+#: builtins.c:13660
#, gcc-internal-format
msgid "%K%qD called on pointer to an unallocated object"
msgstr ""
@@ -23750,315 +23762,315 @@ msgstr ""
msgid "number of bb notes in insn chain (%d) != n_basic_blocks (%d)"
msgstr ""
-#: cgraph.c:3139
+#: cgraph.c:3150
#, gcc-internal-format
msgid "caller edge count invalid"
msgstr ""
-#: cgraph.c:3235
+#: cgraph.c:3246
#, gcc-internal-format
msgid "missing indirect call in speculative call sequence"
msgstr ""
-#: cgraph.c:3240
+#: cgraph.c:3251
#, gcc-internal-format
msgid "indirect call in speculative call sequence has no speculative flag"
msgstr ""
-#: cgraph.c:3270
+#: cgraph.c:3281
#, gcc-internal-format
msgid "speculative edges are not adjacent"
msgstr ""
-#: cgraph.c:3276
+#: cgraph.c:3287
#, gcc-internal-format, gfc-internal-format
msgid "direct call to %s in speculative call sequence has no speculative flag"
msgstr ""
-#: cgraph.c:3282 cgraph.c:3312
+#: cgraph.c:3293 cgraph.c:3323
#, gcc-internal-format, gfc-internal-format
msgid ""
"direct call to %s in speculative call sequence has speculative_id %i out of "
"range"
msgstr ""
-#: cgraph.c:3289
+#: cgraph.c:3300
#, gcc-internal-format, gfc-internal-format
msgid ""
"duplicate direct call to %s in speculative call sequence with speculative_id "
"%i"
msgstr ""
-#: cgraph.c:3300
+#: cgraph.c:3311
#, gcc-internal-format
msgid ""
"call stmt hash does not point to first direct edge of speculative call "
"sequence"
msgstr ""
-#: cgraph.c:3319
+#: cgraph.c:3330
#, gcc-internal-format, gfc-internal-format
msgid ""
"duplicate reference %s in speculative call sequence with speculative_id %i"
msgstr ""
-#: cgraph.c:3332
+#: cgraph.c:3343
#, gcc-internal-format, gfc-internal-format
msgid "missing direct call for speculation %i"
msgstr ""
-#: cgraph.c:3337
+#: cgraph.c:3348
#, gcc-internal-format, gfc-internal-format
msgid "missing ref for speculation %i"
msgstr ""
-#: cgraph.c:3346
+#: cgraph.c:3357
#, gcc-internal-format, gfc-internal-format
msgid ""
"number of speculative targets %i mismatched with "
"num_speculative_call_targets %i"
msgstr ""
-#: cgraph.c:3375
+#: cgraph.c:3386
#, gcc-internal-format, gfc-internal-format
msgid "aux field set for edge %s->%s"
msgstr ""
-#: cgraph.c:3382
+#: cgraph.c:3393
#, gcc-internal-format
msgid "cgraph count invalid"
msgstr ""
-#: cgraph.c:3387
+#: cgraph.c:3398
#, gcc-internal-format
msgid "inline clone in same comdat group list"
msgstr ""
-#: cgraph.c:3392
+#: cgraph.c:3403
#, gcc-internal-format
msgid "inline clone count is not compatible"
msgstr ""
-#: cgraph.c:3399
+#: cgraph.c:3410
#, gcc-internal-format
msgid "tp_first_run must be non-negative"
msgstr ""
-#: cgraph.c:3404
+#: cgraph.c:3415
#, gcc-internal-format
msgid "local symbols must be defined"
msgstr ""
-#: cgraph.c:3409
+#: cgraph.c:3420
#, gcc-internal-format
msgid "externally visible inline clone"
msgstr ""
-#: cgraph.c:3414
+#: cgraph.c:3425
#, gcc-internal-format
msgid "inline clone with address taken"
msgstr ""
-#: cgraph.c:3419
+#: cgraph.c:3430
#, gcc-internal-format
msgid "inline clone is forced to output"
msgstr ""
-#: cgraph.c:3426
+#: cgraph.c:3437
#, gcc-internal-format
msgid "calls_comdat_local is set outside of a comdat group"
msgstr ""
-#: cgraph.c:3431
+#: cgraph.c:3442
#, gcc-internal-format
msgid "invalid calls_comdat_local flag"
msgstr ""
-#: cgraph.c:3438
+#: cgraph.c:3449
#, gcc-internal-format
msgid "malloc attribute should be used for a function that returns a pointer"
msgstr ""
-#: cgraph.c:3446
+#: cgraph.c:3457
#, gcc-internal-format, gfc-internal-format
msgid "aux field set for indirect edge from %s"
msgstr ""
-#: cgraph.c:3452 cgraph.c:3512
+#: cgraph.c:3463 cgraph.c:3523
#, gcc-internal-format
msgid "edge count is not compatible with function count"
msgstr ""
-#: cgraph.c:3460
+#: cgraph.c:3471
#, gcc-internal-format, gfc-internal-format
msgid ""
"An indirect edge from %s is not marked as indirect or has associated "
"indirect_info, the corresponding statement is: "
msgstr ""
-#: cgraph.c:3468 cgraph.c:3539
+#: cgraph.c:3479 cgraph.c:3550
#, gcc-internal-format
msgid "edge has both call_stmt and lto_stmt_uid set"
msgstr ""
-#: cgraph.c:3480
+#: cgraph.c:3491
#, gcc-internal-format, gfc-internal-format
msgid "comdat-local function called by %s outside its comdat"
msgstr ""
-#: cgraph.c:3490
+#: cgraph.c:3501
#, gcc-internal-format
msgid "inlined_to pointer is wrong"
msgstr ""
-#: cgraph.c:3495
+#: cgraph.c:3506
#, gcc-internal-format
msgid "multiple inline callers"
msgstr ""
-#: cgraph.c:3502
+#: cgraph.c:3513
#, gcc-internal-format
msgid "inlined_to pointer set for noninline callers"
msgstr ""
-#: cgraph.c:3529
+#: cgraph.c:3540
#, gcc-internal-format
msgid "caller edge count does not match BB count"
msgstr ""
-#: cgraph.c:3560
+#: cgraph.c:3571
#, gcc-internal-format
msgid "indirect call count does not match BB count"
msgstr ""
-#: cgraph.c:3577
+#: cgraph.c:3588
#, gcc-internal-format
msgid "reference has both stmt and lto_stmt_uid set"
msgstr ""
-#: cgraph.c:3588
+#: cgraph.c:3599
#, gcc-internal-format
msgid "inlined_to pointer is set but no predecessors found"
msgstr ""
-#: cgraph.c:3593
+#: cgraph.c:3604
#, gcc-internal-format
msgid "inlined_to pointer refers to itself"
msgstr ""
-#: cgraph.c:3604
+#: cgraph.c:3615
#, gcc-internal-format
msgid "cgraph_node has wrong clone_of"
msgstr ""
-#: cgraph.c:3617
+#: cgraph.c:3628
#, gcc-internal-format
msgid "cgraph_node has wrong clone list"
msgstr ""
-#: cgraph.c:3623
+#: cgraph.c:3634
#, gcc-internal-format
msgid "cgraph_node is in clone list but it is not clone"
msgstr ""
-#: cgraph.c:3628
+#: cgraph.c:3639
#, gcc-internal-format
msgid "cgraph_node has wrong prev_clone pointer"
msgstr ""
-#: cgraph.c:3633
+#: cgraph.c:3644
#, gcc-internal-format
msgid "double linked list of clones corrupted"
msgstr ""
-#: cgraph.c:3645
+#: cgraph.c:3656
#, gcc-internal-format
msgid "Alias has call edges"
msgstr ""
-#: cgraph.c:3651
+#: cgraph.c:3662
#, gcc-internal-format
msgid "Alias has non-alias reference"
msgstr ""
-#: cgraph.c:3656
+#: cgraph.c:3667
#, gcc-internal-format
msgid "Alias has more than one alias reference"
msgstr ""
-#: cgraph.c:3663
+#: cgraph.c:3674
#, gcc-internal-format
msgid "Analyzed alias has no reference"
msgstr ""
-#: cgraph.c:3672
+#: cgraph.c:3683
#, gcc-internal-format
msgid "No edge out of thunk node"
msgstr ""
-#: cgraph.c:3677
+#: cgraph.c:3688
#, gcc-internal-format
msgid "More than one edge out of thunk node"
msgstr ""
-#: cgraph.c:3682
+#: cgraph.c:3693
#, gcc-internal-format
msgid "Thunk is not supposed to have body"
msgstr ""
-#: cgraph.c:3716
+#: cgraph.c:3727
#, gcc-internal-format
msgid "shared call_stmt:"
msgstr ""
-#: cgraph.c:3724
+#: cgraph.c:3735
#, gcc-internal-format
msgid "edge points to wrong declaration:"
msgstr ""
-#: cgraph.c:3733
+#: cgraph.c:3744
#, gcc-internal-format
msgid ""
"an indirect edge with unknown callee corresponding to a call_stmt with a "
"known declaration:"
msgstr ""
-#: cgraph.c:3743
+#: cgraph.c:3754
#, gcc-internal-format
msgid "missing callgraph edge for call stmt:"
msgstr ""
-#: cgraph.c:3753
+#: cgraph.c:3764
#, gcc-internal-format
msgid "reference to dead statement"
msgstr ""
-#: cgraph.c:3766
+#: cgraph.c:3777
#, gcc-internal-format, gfc-internal-format
msgid "edge %s->%s has no corresponding call_stmt"
msgstr ""
-#: cgraph.c:3778
+#: cgraph.c:3789
#, gcc-internal-format, gfc-internal-format
msgid "an indirect edge from %s has no corresponding call_stmt"
msgstr ""
-#: cgraph.c:3797 cgraph.c:3810
+#: cgraph.c:3808 cgraph.c:3821
#, gcc-internal-format
msgid "missing origin for a node in a nested list"
msgstr ""
-#: cgraph.c:3802
+#: cgraph.c:3813
#, gcc-internal-format
msgid "origin points to a different parent"
msgstr ""
-#: cgraph.c:3818
+#: cgraph.c:3829
#, gcc-internal-format
msgid "verify_cgraph_node failed"
msgstr ""
-#: cgraph.c:3940 varpool.c:304
+#: cgraph.c:3951 varpool.c:304
#, gcc-internal-format, gfc-internal-format
msgid "%s: section %s.%d is missing"
msgstr ""
@@ -24139,12 +24151,12 @@ msgid "%<weakref%> attribute ignored because variable is initialized"
msgstr ""
#. include_self=
-#: cgraphunit.c:1082 c/c-decl.c:12107
+#: cgraphunit.c:1082 c/c-decl.c:12106
#, gcc-internal-format
msgid "%q+F used but never defined"
msgstr ""
-#: cgraphunit.c:1084 c/c-decl.c:12117
+#: cgraphunit.c:1084 c/c-decl.c:12116
#, gcc-internal-format
msgid "%q+F declared %<static%> but never defined"
msgstr ""
@@ -24214,7 +24226,7 @@ msgstr ""
msgid "size of return value of %q+D is larger than %wu bytes"
msgstr ""
-#: cgraphunit.c:2394
+#: cgraphunit.c:2390
#, gcc-internal-format
msgid "nodes with unreleased memory found"
msgstr ""
@@ -24630,12 +24642,12 @@ msgid ""
"cfi_personality%> directive"
msgstr ""
-#: dwarf2out.c:11050
+#: dwarf2out.c:11059
#, gcc-internal-format
msgid "%<-gdwarf-6%> is output as version 5 with incompatibilities"
msgstr ""
-#: dwarf2out.c:14644
+#: dwarf2out.c:14793
#, gcc-internal-format, gfc-internal-format
msgid "non-delegitimized UNSPEC %s (%d) found in variable location"
msgstr ""
@@ -24655,7 +24667,7 @@ msgstr ""
msgid "internal consistency failure"
msgstr ""
-#: emit-rtl.c:4038
+#: emit-rtl.c:4039
#, gcc-internal-format
msgid "ICE: emit_insn used where emit_jump_insn needed:\n"
msgstr ""
@@ -24789,45 +24801,45 @@ msgstr ""
msgid "large fixed-point constant implicitly truncated to fixed-point type"
msgstr ""
-#: fold-const.c:4617 fold-const.c:4627
+#: fold-const.c:4618 fold-const.c:4628
#, gcc-internal-format, gfc-internal-format
msgid "comparison is always %d due to width of bit-field"
msgstr ""
-#: fold-const.c:5981 tree-ssa-reassoc.c:2736 tree-ssa-reassoc.c:3752
+#: fold-const.c:5982 tree-ssa-reassoc.c:2736 tree-ssa-reassoc.c:3752
#, gcc-internal-format
msgid "assuming signed overflow does not occur when simplifying range test"
msgstr ""
-#: fold-const.c:6441 fold-const.c:6455
+#: fold-const.c:6442 fold-const.c:6456
#, gcc-internal-format, gfc-internal-format
msgid "comparison is always %d"
msgstr ""
-#: fold-const.c:6599
+#: fold-const.c:6600
#, gcc-internal-format
msgid "%<or%> of unmatched not-equal tests is always 1"
msgstr ""
-#: fold-const.c:6604
+#: fold-const.c:6605
#, gcc-internal-format
msgid "%<and%> of mutually exclusive equal-tests is always 0"
msgstr ""
-#: fold-const.c:9811
+#: fold-const.c:9812
#, gcc-internal-format
msgid ""
"assuming signed overflow does not occur when reducing constant in comparison"
msgstr ""
-#: fold-const.c:10211
+#: fold-const.c:10212
#, gcc-internal-format
msgid ""
"assuming signed overflow does not occur when combining constants around a "
"comparison"
msgstr ""
-#: fold-const.c:13468
+#: fold-const.c:13469
#, gcc-internal-format
msgid "fold check: original tree changed by fold"
msgstr ""
@@ -24842,7 +24854,7 @@ msgstr ""
msgid "total size of local objects exceeds maximum %wu"
msgstr ""
-#: function.c:1786 gimplify.c:6328 gimplify.c:6488
+#: function.c:1786 gimplify.c:6329 gimplify.c:6489
#, gcc-internal-format
msgid "impossible constraint in %<asm%>"
msgstr ""
@@ -25462,7 +25474,7 @@ msgstr ""
msgid "function may return address of local variable"
msgstr ""
-#: gimple-ssa-isolate-paths.c:409 c/c-typeck.c:10861
+#: gimple-ssa-isolate-paths.c:409 c/c-typeck.c:10921
#, gcc-internal-format
msgid "function returns address of local variable"
msgstr ""
@@ -25903,53 +25915,53 @@ msgstr ""
msgid "%Gnull format string"
msgstr ""
-#: gimple-ssa-warn-alloca.c:288
+#: gimple-ssa-warn-alloca.c:287
msgid "%Guse of %<alloca%>"
msgstr ""
-#: gimple-ssa-warn-alloca.c:324
+#: gimple-ssa-warn-alloca.c:323
msgid "%Gargument to variable-length array may be too large"
msgstr ""
-#: gimple-ssa-warn-alloca.c:326
+#: gimple-ssa-warn-alloca.c:325
msgid "%Gargument to %<alloca%> may be too large"
msgstr ""
-#: gimple-ssa-warn-alloca.c:332
+#: gimple-ssa-warn-alloca.c:331
#, gcc-internal-format
msgid "limit is %wu bytes, but argument may be as large as %s"
msgstr ""
-#: gimple-ssa-warn-alloca.c:344
+#: gimple-ssa-warn-alloca.c:343
msgid "%Gargument to variable-length array is too large"
msgstr ""
-#: gimple-ssa-warn-alloca.c:346
+#: gimple-ssa-warn-alloca.c:345
msgid "%Gargument to %<alloca%> is too large"
msgstr ""
-#: gimple-ssa-warn-alloca.c:351
+#: gimple-ssa-warn-alloca.c:350
#, gcc-internal-format
msgid "limit is %wu bytes, but argument is %s"
msgstr ""
-#: gimple-ssa-warn-alloca.c:360
+#: gimple-ssa-warn-alloca.c:359
msgid "%Gunbounded use of variable-length array"
msgstr ""
-#: gimple-ssa-warn-alloca.c:361
+#: gimple-ssa-warn-alloca.c:360
msgid "%Gunbounded use of %<alloca%>"
msgstr ""
-#: gimple-ssa-warn-alloca.c:367
+#: gimple-ssa-warn-alloca.c:366
msgid "%Guse of %<alloca%> within a loop"
msgstr ""
-#: gimple-ssa-warn-alloca.c:372
+#: gimple-ssa-warn-alloca.c:371
msgid "%Gargument to variable-length array is zero"
msgstr ""
-#: gimple-ssa-warn-alloca.c:374
+#: gimple-ssa-warn-alloca.c:373
msgid "%Gargument to %<alloca%> is zero"
msgstr ""
@@ -26112,7 +26124,7 @@ msgid ""
"with type %qT"
msgstr ""
-#: gimple-ssa-warn-restrict.c:1773 c-family/c-warn.c:3734
+#: gimple-ssa-warn-restrict.c:1773 c-family/c-warn.c:3735
#, gcc-internal-format
msgid "array %qD declared here"
msgstr ""
@@ -26142,11 +26154,11 @@ msgid "%G%qD offset %s is out of the bounds of object %qD with type %qT"
msgstr ""
#: gimple-ssa-warn-restrict.c:1818 tree-ssa-uninit.c:586 tree-ssa-uninit.c:664
-#: c/c-decl.c:3873 c/c-decl.c:4146 c/c-typeck.c:8868 cp/class.c:1437
-#: cp/class.c:3253 cp/constexpr.c:956 cp/decl.c:4209 cp/decl.c:11926
-#: cp/decl.c:12405 cp/decl.c:12414 cp/friend.c:386 cp/friend.c:396
-#: cp/init.c:2665 cp/parser.c:3434 cp/parser.c:3580 cp/parser.c:3631
-#: cp/parser.c:6768 cp/parser.c:23234
+#: c/c-decl.c:3872 c/c-decl.c:4145 c/c-typeck.c:8928 cp/class.c:1444
+#: cp/class.c:3260 cp/constexpr.c:957 cp/decl.c:4197 cp/decl.c:11944
+#: cp/decl.c:12423 cp/decl.c:12432 cp/friend.c:386 cp/friend.c:396
+#: cp/init.c:2672 cp/parser.c:3434 cp/parser.c:3580 cp/parser.c:3631
+#: cp/parser.c:6768 cp/parser.c:23271
#, gcc-internal-format
msgid "%qD declared here"
msgstr ""
@@ -26223,340 +26235,340 @@ msgstr ""
msgid "using result of function returning %<void%>"
msgstr ""
-#: gimplify.c:6329
+#: gimplify.c:6330
#, gcc-internal-format, gfc-internal-format
msgid "non-memory output %d must stay in memory"
msgstr ""
-#: gimplify.c:6342
+#: gimplify.c:6343
#, gcc-internal-format
msgid "invalid lvalue in %<asm%> output %d"
msgstr ""
-#: gimplify.c:6489
+#: gimplify.c:6490
#, gcc-internal-format, gfc-internal-format
msgid "non-memory input %d must stay in memory"
msgstr ""
-#: gimplify.c:6529 gimplify.c:6538
+#: gimplify.c:6530 gimplify.c:6539
#, gcc-internal-format, gfc-internal-format
msgid "memory input %d is not directly addressable"
msgstr ""
-#: gimplify.c:7152
+#: gimplify.c:7153
#, gcc-internal-format
msgid ""
"threadprivate variable %qE used in a region with %<order(concurrent)%> clause"
msgstr ""
-#: gimplify.c:7154
+#: gimplify.c:7155
#, gcc-internal-format
msgid "enclosing region"
msgstr ""
-#: gimplify.c:7158
+#: gimplify.c:7159
#, gcc-internal-format
msgid "threadprivate variable %qE used in target region"
msgstr ""
-#: gimplify.c:7160
+#: gimplify.c:7161
#, gcc-internal-format
msgid "enclosing target region"
msgstr ""
-#: gimplify.c:7173
+#: gimplify.c:7174
#, gcc-internal-format
msgid "threadprivate variable %qE used in untied task"
msgstr ""
-#: gimplify.c:7175
+#: gimplify.c:7176
#, gcc-internal-format
msgid "enclosing task"
msgstr ""
-#: gimplify.c:7260
+#: gimplify.c:7261
#, gcc-internal-format
msgid "%qE not specified in enclosing %qs"
msgstr ""
-#: gimplify.c:7262
+#: gimplify.c:7263
#, gcc-internal-format
msgid "enclosing %qs"
msgstr ""
-#: gimplify.c:7405
+#: gimplify.c:7406
#, gcc-internal-format
msgid "%qE not specified in enclosing OpenACC %qs construct"
msgstr ""
-#: gimplify.c:7407
+#: gimplify.c:7408
#, gcc-internal-format
msgid "enclosing OpenACC %qs construct"
msgstr ""
-#: gimplify.c:7468
+#: gimplify.c:7469
#, gcc-internal-format
msgid "%qE with %<link%> clause used in %<routine%> function"
msgstr ""
-#: gimplify.c:7476
+#: gimplify.c:7477
#, gcc-internal-format
msgid "%qE requires a %<declare%> directive for use in a %<routine%> function"
msgstr ""
-#: gimplify.c:7541
+#: gimplify.c:7542
#, gcc-internal-format
msgid "%qE not specified in enclosing %<target%>"
msgstr ""
-#: gimplify.c:7543
+#: gimplify.c:7544
#, gcc-internal-format
msgid "enclosing %<target%>"
msgstr ""
-#: gimplify.c:7573 gimplify.c:9014
+#: gimplify.c:7574 gimplify.c:9015
#, gcc-internal-format
msgid "variable %qE declared in enclosing %<host_data%> region"
msgstr ""
-#: gimplify.c:7594
+#: gimplify.c:7595
#, gcc-internal-format
msgid "%qD referenced in target region does not have a mappable type"
msgstr ""
-#: gimplify.c:7725
+#: gimplify.c:7726
#, gcc-internal-format
msgid "iteration variable %qE is predetermined linear"
msgstr ""
-#: gimplify.c:7728
+#: gimplify.c:7729
#, gcc-internal-format
msgid "iteration variable %qE should be private"
msgstr ""
-#: gimplify.c:7742
+#: gimplify.c:7743
#, gcc-internal-format
msgid "iteration variable %qE should not be firstprivate"
msgstr ""
-#: gimplify.c:7745
+#: gimplify.c:7746
#, gcc-internal-format
msgid "iteration variable %qE should not be reduction"
msgstr ""
-#: gimplify.c:7748
+#: gimplify.c:7749
#, gcc-internal-format
msgid "iteration variable %qE should not be linear"
msgstr ""
-#: gimplify.c:8615 gimplify.c:8621
+#: gimplify.c:8616 gimplify.c:8622
#, gcc-internal-format
msgid "conditional %<lastprivate%> clause on %qs construct"
msgstr ""
-#: gimplify.c:8638
+#: gimplify.c:8639
#, gcc-internal-format
msgid "non-scalar variable %qD in conditional %<lastprivate%> clause"
msgstr ""
-#: gimplify.c:8727
+#: gimplify.c:8728
#, gcc-internal-format
msgid "%<task%> reduction modifier on a construct with a %<nowait%> clause"
msgstr ""
-#: gimplify.c:8735 gimplify.c:12857
+#: gimplify.c:8736 gimplify.c:12858
#, gcc-internal-format
msgid ""
"invalid %<task%> reduction modifier on construct other than %<parallel%>, "
"%qs or %<sections%>"
msgstr ""
-#: gimplify.c:8746 gimplify.c:8752 gimplify.c:8758 gimplify.c:8764
-#: gimplify.c:12850
+#: gimplify.c:8747 gimplify.c:8753 gimplify.c:8759 gimplify.c:8765
+#: gimplify.c:12851
#, gcc-internal-format
msgid "%<inscan%> %<reduction%> clause on %qs construct"
msgstr ""
-#: gimplify.c:8858
+#: gimplify.c:8859
#, gcc-internal-format
msgid ""
"%<linear%> clause for variable other than loop iterator specified on "
"construct combined with %<distribute%>"
msgstr ""
-#: gimplify.c:9184
+#: gimplify.c:9185
#, gcc-internal-format
msgid "mapping field %qE of variable length structure"
msgstr ""
-#: gimplify.c:9366
+#: gimplify.c:9367
#, gcc-internal-format
msgid "%qE appears more than once in map clauses"
msgstr ""
-#: gimplify.c:9728
+#: gimplify.c:9729
#, gcc-internal-format
msgid ""
"copyprivate variable %qE is not threadprivate or private in outer context"
msgstr ""
-#: gimplify.c:9785
+#: gimplify.c:9786
#, gcc-internal-format
msgid "%s variable %qE is private in outer context"
msgstr ""
-#: gimplify.c:9817
+#: gimplify.c:9818
#, gcc-internal-format
msgid "expected %qs %<if%> clause modifier rather than %qs"
msgstr ""
-#: gimplify.c:10017
+#: gimplify.c:10018
#, gcc-internal-format
msgid ""
"%qD specified in %qs clause but not in %<inscan%> %<reduction%> clause on "
"the containing construct"
msgstr ""
-#: gimplify.c:10227
+#: gimplify.c:10228
#, gcc-internal-format
msgid "%<_Atomic%> %qD in implicit %<map%> clause"
msgstr ""
-#: gimplify.c:10281
+#: gimplify.c:10282
#, gcc-internal-format
msgid ""
"%<_Atomic%> %qD in implicit %<firstprivate%> clause on %<target%> construct"
msgstr ""
-#: gimplify.c:10530
+#: gimplify.c:10531
#, gcc-internal-format
msgid "%<_Atomic%> %qD in %<firstprivate%> clause on %<target%> construct"
msgstr ""
-#: gimplify.c:10591
+#: gimplify.c:10592
#, gcc-internal-format
msgid ""
"same variable used in %<firstprivate%> and %<lastprivate%> clauses on "
"%<distribute%> construct"
msgstr ""
-#: gimplify.c:10682
+#: gimplify.c:10683
#, gcc-internal-format
msgid ""
"incompatible data clause with reduction on %qE; promoting to "
"%<present_or_copy%>"
msgstr ""
-#: gimplify.c:10829
+#: gimplify.c:10830
#, gcc-internal-format
msgid ""
"%qD specified in %<inscan%> %<reduction%> clause but not in %<scan%> "
"directive clause"
msgstr ""
-#: gimplify.c:10848
+#: gimplify.c:10849
#, gcc-internal-format
msgid "invalid private reduction on %qE"
msgstr ""
-#: gimplify.c:10985
+#: gimplify.c:10986
#, gcc-internal-format
msgid ""
"%<inscan%> %<reduction%> clause used together with %<linear%> clause for a "
"variable other than loop iterator"
msgstr ""
-#: gimplify.c:11319
+#: gimplify.c:11320
#, gcc-internal-format
msgid "%<mutexinoutset%> kind in %<depend%> clause on a %<taskwait%> construct"
msgstr ""
-#: gimplify.c:11578 gimplify.c:11582 gimplify.c:11591
+#: gimplify.c:11579 gimplify.c:11583 gimplify.c:11592
#, gcc-internal-format
msgid "%qs clause may not appear on non-rectangular %qs"
msgstr ""
-#: gimplify.c:11823 gimplify.c:12082
+#: gimplify.c:11824 gimplify.c:12083
#, gcc-internal-format
msgid "conditional %<lastprivate%> on loop iterator %qD ignored"
msgstr ""
-#: gimplify.c:12788
+#: gimplify.c:12789
#, gcc-internal-format
msgid ""
"%<bind%> clause not specified on a %<loop%> construct not nested inside "
"another OpenMP construct"
msgstr ""
-#: gimplify.c:12812
+#: gimplify.c:12813
#, gcc-internal-format
msgid ""
"%<bind(parallel)%> on a %<loop%> construct nested inside %<simd%> construct"
msgstr ""
-#: gimplify.c:12832
+#: gimplify.c:12833
#, gcc-internal-format
msgid ""
"%<bind(teams)%> on a %<loop%> region not strictly nested inside of a %<teams"
"%> region"
msgstr ""
-#: gimplify.c:12885
+#: gimplify.c:12886
#, gcc-internal-format
msgid ""
"%<lastprivate%> clause on a %<loop%> construct refers to a variable %qD "
"which is not the loop iterator"
msgstr ""
-#: gimplify.c:13748 omp-low.c:3472
+#: gimplify.c:13749 omp-low.c:3472
#, gcc-internal-format
msgid ""
"%<ordered%> construct with %<depend%> clause must be closely nested inside a "
"loop with %<ordered%> clause with a parameter"
msgstr ""
-#: gimplify.c:13766
+#: gimplify.c:13767
#, gcc-internal-format
msgid "variable %qE is not an iteration of outermost loop %d, expected %qE"
msgstr ""
-#: gimplify.c:13779
+#: gimplify.c:13780
#, gcc-internal-format
msgid ""
"number of variables in %<depend%> clause with %<sink%> modifier does not "
"match number of iteration variables"
msgstr ""
-#: gimplify.c:13792
+#: gimplify.c:13793
#, gcc-internal-format
msgid ""
"more than one %<depend%> clause with %<source%> modifier on an %<ordered%> "
"construct"
msgstr ""
-#: gimplify.c:13803
+#: gimplify.c:13804
#, gcc-internal-format
msgid ""
"%<depend%> clause with %<source%> modifier specified together with %<depend"
"%> clauses with %<sink%> modifier on the same construct"
msgstr ""
-#: gimplify.c:15080
+#: gimplify.c:15082
#, gcc-internal-format
msgid "gimplification failed"
msgstr ""
-#: gimplify.c:15613
+#: gimplify.c:15615
#, gcc-internal-format
msgid "%qT is promoted to %qT when passed through %<...%>"
msgstr ""
-#: gimplify.c:15618
+#: gimplify.c:15620
#, gcc-internal-format
msgid "(so you should pass %qT not %qT to %<va_arg%>)"
msgstr ""
-#: gimplify.c:15625
+#: gimplify.c:15627
#, gcc-internal-format
msgid "if this code is reached, the program will abort"
msgstr ""
@@ -27053,22 +27065,22 @@ msgid ""
"access"
msgstr ""
-#: ira.c:2317 ira.c:2339
+#: ira.c:2318 ira.c:2340
#, gcc-internal-format
msgid "%s cannot be used in %<asm%> here"
msgstr ""
-#: ira.c:5920
+#: ira.c:5921
#, gcc-internal-format
msgid "frame pointer required, but reserved"
msgstr ""
-#: ira.c:5921
+#: ira.c:5922
#, gcc-internal-format
msgid "for %qD"
msgstr ""
-#: ira.c:5937
+#: ira.c:5938
#, gcc-internal-format
msgid "frame size too large for reliable stack checking"
msgstr ""
@@ -27088,12 +27100,12 @@ msgstr ""
msgid "unable to find a register to spill"
msgstr ""
-#: lra-constraints.c:4135 reload.c:3863 reload.c:4118
+#: lra-constraints.c:4140 reload.c:3869 reload.c:4124
#, gcc-internal-format
msgid "inconsistent operand constraints in an %<asm%>"
msgstr ""
-#: lra-constraints.c:5091
+#: lra-constraints.c:5097
#, gcc-internal-format, gfc-internal-format
msgid "maximum number of generated reload insns per insn achieved (%d)"
msgstr ""
@@ -27872,12 +27884,12 @@ msgstr ""
msgid "unrecognized argument in option %qs"
msgstr ""
-#: opts-common.c:1366 config/i386/i386-options.c:1551
+#: opts-common.c:1366 config/i386/i386-options.c:1554
#, gcc-internal-format
msgid "valid arguments to %qs are: %s; did you mean %qs?"
msgstr ""
-#: opts-common.c:1369 config/i386/i386-options.c:1554
+#: opts-common.c:1369 config/i386/i386-options.c:1557
#, gcc-internal-format
msgid "valid arguments to %qs are: %s"
msgstr ""
@@ -28011,7 +28023,7 @@ msgstr ""
msgid "section anchors must be disabled when toplevel reorder is disabled"
msgstr ""
-#: opts.c:1002 config/darwin.c:3317
+#: opts.c:1002 config/darwin.c:3312
#, gcc-internal-format
msgid ""
"%<-freorder-blocks-and-partition%> does not work with exceptions on this "
@@ -28527,22 +28539,22 @@ msgstr ""
msgid "output operand %d must use %<&%> constraint"
msgstr ""
-#: regcprop.c:1229
+#: regcprop.c:1230
#, gcc-internal-format
msgid "%qs: [%u] bad %<next_regno%> for empty chain (%u)"
msgstr ""
-#: regcprop.c:1241
+#: regcprop.c:1242
#, gcc-internal-format
msgid "%qs: loop in %<next_regno%> chain (%u)"
msgstr ""
-#: regcprop.c:1244
+#: regcprop.c:1245
#, gcc-internal-format
msgid "%qs: [%u] bad %<oldest_regno%> (%u)"
msgstr ""
-#: regcprop.c:1256
+#: regcprop.c:1257
#, gcc-internal-format
msgid "%qs: [%u] non-empty register in chain (%s %u %i)"
msgstr ""
@@ -28604,12 +28616,12 @@ msgstr ""
msgid "impossible register constraint in %<asm%>"
msgstr ""
-#: reload.c:2687
+#: reload.c:2692
#, gcc-internal-format
msgid "the target does not support %<asm goto%> with outputs in %<asm%>"
msgstr ""
-#: reload.c:3720
+#: reload.c:3726
#, gcc-internal-format
msgid "%<&%> constraint used with no register class"
msgstr ""
@@ -28639,58 +28651,58 @@ msgstr ""
msgid "output operand is constant in %<asm%>"
msgstr ""
-#: rtl.c:850
+#: rtl.c:860
#, gcc-internal-format, gfc-internal-format
msgid "RTL check: access of elt %d of '%s' with last elt %d in %s, at %s:%d"
msgstr ""
-#: rtl.c:860
+#: rtl.c:870
#, gcc-internal-format, gfc-internal-format
msgid ""
"RTL check: expected elt %d type '%c', have '%c' (rtx %s) in %s, at %s:%d"
msgstr ""
-#: rtl.c:870
+#: rtl.c:880
#, gcc-internal-format, gfc-internal-format
msgid ""
"RTL check: expected elt %d type '%c' or '%c', have '%c' (rtx %s) in %s, at "
"%s:%d"
msgstr ""
-#: rtl.c:879
+#: rtl.c:889
#, gcc-internal-format, gfc-internal-format
msgid "RTL check: expected code '%s', have '%s' in %s, at %s:%d"
msgstr ""
-#: rtl.c:889
+#: rtl.c:899
#, gcc-internal-format, gfc-internal-format
msgid "RTL check: expected code '%s' or '%s', have '%s' in %s, at %s:%d"
msgstr ""
-#: rtl.c:900
+#: rtl.c:910
#, gcc-internal-format, gfc-internal-format
msgid "RTL check: expected code '%s', '%s' or '%s', have '%s' in %s, at %s:%d"
msgstr ""
-#: rtl.c:927
+#: rtl.c:937
#, gcc-internal-format, gfc-internal-format
msgid ""
"RTL check: attempt to treat non-block symbol as a block symbol in %s, at %s:"
"%d"
msgstr ""
-#: rtl.c:937
+#: rtl.c:947
#, gcc-internal-format, gfc-internal-format
msgid ""
"RTL check: access of hwi elt %d of vector with last elt %d in %s, at %s:%d"
msgstr ""
-#: rtl.c:947
+#: rtl.c:957
#, gcc-internal-format, gfc-internal-format
msgid "RTL check: access of elt %d of vector with last elt %d in %s, at %s:%d"
msgstr ""
-#: rtl.c:958
+#: rtl.c:968
#, gcc-internal-format, gfc-internal-format
msgid "RTL flag check: %s used with unexpected rtx code '%s' in %s, at %s:%d"
msgstr ""
@@ -28735,22 +28747,22 @@ msgstr ""
msgid "invalid punctuation %qc in constraint"
msgstr ""
-#: stmt.c:430
+#: stmt.c:431
#, gcc-internal-format
msgid "matching constraint does not allow a register"
msgstr ""
-#: stmt.c:524
+#: stmt.c:525
#, gcc-internal-format
msgid "duplicate %<asm%> operand name %qs"
msgstr ""
-#: stmt.c:621
+#: stmt.c:622
#, gcc-internal-format
msgid "missing close brace for named operand"
msgstr ""
-#: stmt.c:650
+#: stmt.c:651
#, gcc-internal-format
msgid "undefined named operand %qs"
msgstr ""
@@ -29450,9 +29462,9 @@ msgstr ""
#: tree-cfg.c:3186 tree-cfg.c:3195 tree-cfg.c:3212 tree-cfg.c:3849
#: tree-cfg.c:3878 tree-cfg.c:3895 tree-cfg.c:3916 tree-cfg.c:3964
#: tree-cfg.c:3985 tree-cfg.c:4039 tree-cfg.c:4063 tree-cfg.c:4099
-#: tree-cfg.c:4120 tree-cfg.c:4152 tree-cfg.c:4228 tree-cfg.c:4260
-#: tree-cfg.c:4272 tree-cfg.c:4331 tree-cfg.c:4356 tree-cfg.c:4429
-#: tree-cfg.c:4507
+#: tree-cfg.c:4120 tree-cfg.c:4152 tree-cfg.c:4228 tree-cfg.c:4262
+#: tree-cfg.c:4274 tree-cfg.c:4333 tree-cfg.c:4358 tree-cfg.c:4431
+#: tree-cfg.c:4509
#, gcc-internal-format
msgid "type mismatch in %qs"
msgstr ""
@@ -29487,7 +29499,7 @@ msgstr ""
msgid "invalid clique in %qs"
msgstr ""
-#: tree-cfg.c:3305 tree-cfg.c:4519
+#: tree-cfg.c:3305 tree-cfg.c:4521
#, gcc-internal-format
msgid "%qs in gimple IL"
msgstr ""
@@ -29695,363 +29707,363 @@ msgid ""
"number of elements as the result"
msgstr ""
-#: tree-cfg.c:4284 tree-cfg.c:4343
+#: tree-cfg.c:4286 tree-cfg.c:4345
#, gcc-internal-format
msgid "vector types expected in %qs"
msgstr ""
-#: tree-cfg.c:4299
+#: tree-cfg.c:4301
#, gcc-internal-format
msgid "vectors with different element number found in %qs"
msgstr ""
-#: tree-cfg.c:4315
+#: tree-cfg.c:4317
#, gcc-internal-format
msgid "invalid mask type in %qs"
msgstr ""
-#: tree-cfg.c:4375
+#: tree-cfg.c:4377
#, gcc-internal-format
msgid "not allowed type combination in %qs"
msgstr ""
-#: tree-cfg.c:4384
+#: tree-cfg.c:4386
#, gcc-internal-format
msgid "invalid position or size in %qs"
msgstr ""
-#: tree-cfg.c:4390
+#: tree-cfg.c:4392
#, gcc-internal-format
msgid "%qs into non-mode-precision operand"
msgstr ""
-#: tree-cfg.c:4400
+#: tree-cfg.c:4402
#, gcc-internal-format
msgid "insertion out of range in %qs"
msgstr ""
-#: tree-cfg.c:4410
+#: tree-cfg.c:4412
#, gcc-internal-format
msgid "%qs not at element boundary"
msgstr ""
-#: tree-cfg.c:4465
+#: tree-cfg.c:4467
#, gcc-internal-format
msgid "non-trivial conversion in %qs"
msgstr ""
-#: tree-cfg.c:4474
+#: tree-cfg.c:4476
#, gcc-internal-format
msgid "%qs LHS in clobber statement"
msgstr ""
-#: tree-cfg.c:4493
+#: tree-cfg.c:4495
#, gcc-internal-format
msgid "invalid operand in %qs"
msgstr ""
-#: tree-cfg.c:4534 tree-cfg.c:4560
+#: tree-cfg.c:4536 tree-cfg.c:4562
#, gcc-internal-format
msgid "invalid RHS for gimple memory store: %qs"
msgstr ""
-#: tree-cfg.c:4594 tree-cfg.c:4612
+#: tree-cfg.c:4596 tree-cfg.c:4614
#, gcc-internal-format
msgid "incorrect type of vector %qs elements"
msgstr ""
-#: tree-cfg.c:4603 tree-cfg.c:4620
+#: tree-cfg.c:4605 tree-cfg.c:4622
#, gcc-internal-format
msgid "incorrect number of vector %qs elements"
msgstr ""
-#: tree-cfg.c:4628
+#: tree-cfg.c:4630
#, gcc-internal-format
msgid "incorrect type of vector CONSTRUCTOR elements"
msgstr ""
-#: tree-cfg.c:4637
+#: tree-cfg.c:4639
#, gcc-internal-format
msgid "vector %qs with non-NULL element index"
msgstr ""
-#: tree-cfg.c:4644
+#: tree-cfg.c:4646
#, gcc-internal-format
msgid "vector %qs element is not a GIMPLE value"
msgstr ""
-#: tree-cfg.c:4653
+#: tree-cfg.c:4655
#, gcc-internal-format
msgid "non-vector %qs with elements"
msgstr ""
-#: tree-cfg.c:4664
+#: tree-cfg.c:4666
#, gcc-internal-format
msgid "%qs with an always-false condition"
msgstr ""
-#: tree-cfg.c:4723
+#: tree-cfg.c:4725
#, gcc-internal-format
msgid "invalid operand in return statement"
msgstr ""
-#: tree-cfg.c:4738 c/gimple-parser.c:2422
+#: tree-cfg.c:4740 c/gimple-parser.c:2422
#, gcc-internal-format
msgid "invalid conversion in return statement"
msgstr ""
-#: tree-cfg.c:4762
+#: tree-cfg.c:4764
#, gcc-internal-format
msgid "goto destination is neither a label nor a pointer"
msgstr ""
-#: tree-cfg.c:4781
+#: tree-cfg.c:4783
#, gcc-internal-format
msgid "invalid operand to switch statement"
msgstr ""
-#: tree-cfg.c:4789
+#: tree-cfg.c:4791
#, gcc-internal-format
msgid "non-integral type switch statement"
msgstr ""
-#: tree-cfg.c:4799
+#: tree-cfg.c:4801
#, gcc-internal-format
msgid "invalid default case label in switch statement"
msgstr ""
-#: tree-cfg.c:4811
+#: tree-cfg.c:4813
#, gcc-internal-format
msgid "invalid %<CASE_CHAIN%>"
msgstr ""
-#: tree-cfg.c:4817
+#: tree-cfg.c:4819
#, gcc-internal-format
msgid "invalid case label in switch statement"
msgstr ""
-#: tree-cfg.c:4824
+#: tree-cfg.c:4826
#, gcc-internal-format
msgid "invalid case range in switch statement"
msgstr ""
-#: tree-cfg.c:4834
+#: tree-cfg.c:4836
#, gcc-internal-format
msgid "type precision mismatch in switch statement"
msgstr ""
-#: tree-cfg.c:4841
+#: tree-cfg.c:4843
#, gcc-internal-format
msgid "type mismatch for case label in switch statement"
msgstr ""
-#: tree-cfg.c:4850
+#: tree-cfg.c:4852
#, gcc-internal-format
msgid "case labels not sorted in switch statement"
msgstr ""
-#: tree-cfg.c:4893
+#: tree-cfg.c:4895
#, gcc-internal-format
msgid "label context is not the current function declaration"
msgstr ""
-#: tree-cfg.c:4902
+#: tree-cfg.c:4904
#, gcc-internal-format
msgid "incorrect entry in %<label_to_block_map%>"
msgstr ""
-#: tree-cfg.c:4912
+#: tree-cfg.c:4914
#, gcc-internal-format
msgid "incorrect setting of landing pad number"
msgstr ""
-#: tree-cfg.c:4928
+#: tree-cfg.c:4930
#, gcc-internal-format
msgid "invalid comparison code in gimple cond"
msgstr ""
-#: tree-cfg.c:4936
+#: tree-cfg.c:4938
#, gcc-internal-format
msgid "invalid labels in gimple cond"
msgstr ""
-#: tree-cfg.c:5019 tree-cfg.c:5028
+#: tree-cfg.c:5021 tree-cfg.c:5030
#, gcc-internal-format
msgid "invalid %<PHI%> result"
msgstr ""
-#: tree-cfg.c:5038
+#: tree-cfg.c:5040
#, gcc-internal-format
msgid "missing %<PHI%> def"
msgstr ""
-#: tree-cfg.c:5052
+#: tree-cfg.c:5054
#, gcc-internal-format
msgid "invalid %<PHI%> argument"
msgstr ""
-#: tree-cfg.c:5059
+#: tree-cfg.c:5061
#, gcc-internal-format
msgid "incompatible types in %<PHI%> argument %u"
msgstr ""
-#: tree-cfg.c:5157
+#: tree-cfg.c:5159
#, gcc-internal-format
msgid "%<verify_gimple%> failed"
msgstr ""
-#: tree-cfg.c:5214
+#: tree-cfg.c:5216
#, gcc-internal-format
msgid "dead statement in EH table"
msgstr ""
-#: tree-cfg.c:5230
+#: tree-cfg.c:5232
#, gcc-internal-format
msgid "location references block not in block tree"
msgstr ""
-#: tree-cfg.c:5279
+#: tree-cfg.c:5281
#, gcc-internal-format
msgid "local declaration from a different function"
msgstr ""
-#: tree-cfg.c:5382
+#: tree-cfg.c:5384
#, gcc-internal-format
msgid "gimple_bb (phi) is set to a wrong basic block"
msgstr ""
-#: tree-cfg.c:5391
+#: tree-cfg.c:5393
#, gcc-internal-format
msgid "PHI node with location"
msgstr ""
-#: tree-cfg.c:5402 tree-cfg.c:5449
+#: tree-cfg.c:5404 tree-cfg.c:5451
#, gcc-internal-format
msgid "incorrect sharing of tree nodes"
msgstr ""
-#: tree-cfg.c:5410
+#: tree-cfg.c:5412
#, gcc-internal-format
msgid "virtual PHI with argument locations"
msgstr ""
-#: tree-cfg.c:5437
+#: tree-cfg.c:5439
#, gcc-internal-format
msgid "gimple_bb (stmt) is set to a wrong basic block"
msgstr ""
-#: tree-cfg.c:5477
+#: tree-cfg.c:5479
#, gcc-internal-format
msgid "statement marked for throw, but doesn%'t"
msgstr ""
-#: tree-cfg.c:5483
+#: tree-cfg.c:5485
#, gcc-internal-format
msgid "statement marked for throw in middle of block"
msgstr ""
-#: tree-cfg.c:5505
+#: tree-cfg.c:5507
#, gcc-internal-format
msgid "verify_gimple failed"
msgstr ""
-#: tree-cfg.c:5527
+#: tree-cfg.c:5529
#, gcc-internal-format
msgid "ENTRY_BLOCK has IL associated with it"
msgstr ""
-#: tree-cfg.c:5534
+#: tree-cfg.c:5536
#, gcc-internal-format
msgid "EXIT_BLOCK has IL associated with it"
msgstr ""
-#: tree-cfg.c:5541
+#: tree-cfg.c:5543
#, gcc-internal-format, gfc-internal-format
msgid "fallthru to exit from bb %d"
msgstr ""
-#: tree-cfg.c:5565
+#: tree-cfg.c:5567
#, gcc-internal-format
msgid "nonlocal label "
msgstr ""
-#: tree-cfg.c:5574
+#: tree-cfg.c:5576
#, gcc-internal-format
msgid "EH landing pad label "
msgstr ""
-#: tree-cfg.c:5583 tree-cfg.c:5592 tree-cfg.c:5617
+#: tree-cfg.c:5585 tree-cfg.c:5594 tree-cfg.c:5619
#, gcc-internal-format
msgid "label "
msgstr ""
-#: tree-cfg.c:5607
+#: tree-cfg.c:5609
#, gcc-internal-format, gfc-internal-format
msgid "control flow in the middle of basic block %d"
msgstr ""
-#: tree-cfg.c:5640
+#: tree-cfg.c:5642
#, gcc-internal-format, gfc-internal-format
msgid "fallthru edge after a control statement in bb %d"
msgstr ""
-#: tree-cfg.c:5653
+#: tree-cfg.c:5655
#, gcc-internal-format, gfc-internal-format
msgid "true/false edge after a non-GIMPLE_COND in bb %d"
msgstr ""
-#: tree-cfg.c:5676 tree-cfg.c:5698 tree-cfg.c:5715 tree-cfg.c:5784
+#: tree-cfg.c:5678 tree-cfg.c:5700 tree-cfg.c:5717 tree-cfg.c:5786
#, gcc-internal-format, gfc-internal-format
msgid "wrong outgoing edge flags at end of bb %d"
msgstr ""
-#: tree-cfg.c:5686
+#: tree-cfg.c:5688
#, gcc-internal-format, gfc-internal-format
msgid "explicit goto at end of bb %d"
msgstr ""
-#: tree-cfg.c:5720
+#: tree-cfg.c:5722
#, gcc-internal-format, gfc-internal-format
msgid "return edge does not point to exit in bb %d"
msgstr ""
-#: tree-cfg.c:5750
+#: tree-cfg.c:5752
#, gcc-internal-format
msgid "found default case not at the start of case vector"
msgstr ""
-#: tree-cfg.c:5758
+#: tree-cfg.c:5760
#, gcc-internal-format
msgid "case labels not sorted: "
msgstr ""
-#: tree-cfg.c:5775
+#: tree-cfg.c:5777
#, gcc-internal-format, gfc-internal-format
msgid "extra outgoing edge %d->%d"
msgstr ""
-#: tree-cfg.c:5798
+#: tree-cfg.c:5800
#, gcc-internal-format, gfc-internal-format
msgid "missing edge %i->%i"
msgstr ""
-#: tree-cfg.c:9473
+#: tree-cfg.c:9475
#, gcc-internal-format
msgid "%<noreturn%> function does return"
msgstr ""
-#: tree-cfg.c:9494 tree-cfg.c:9526
+#: tree-cfg.c:9496 tree-cfg.c:9528
#, gcc-internal-format
msgid "control reaches end of non-void function"
msgstr ""
-#: tree-cfg.c:9592
+#: tree-cfg.c:9594
#, gcc-internal-format
msgid ""
"ignoring return value of %qD declared with attribute %<warn_unused_result%>"
msgstr ""
-#: tree-cfg.c:9597 cp/cvt.c:1119
+#: tree-cfg.c:9599 cp/cvt.c:1119
#, gcc-internal-format
msgid ""
"ignoring return value of function declared with attribute "
@@ -31193,7 +31205,7 @@ msgid ""
"requested alignment for %q+D is greater than implemented alignment of %wu"
msgstr ""
-#: varasm.c:2284 c/c-decl.c:5451 c/c-parser.c:1660
+#: varasm.c:2284 c/c-decl.c:5450 c/c-parser.c:1660
#, gcc-internal-format
msgid "storage size of %q+D isn%'t known"
msgstr ""
@@ -31366,7 +31378,7 @@ msgstr ""
msgid "bytecode stream: tag %s is not in the expected range [%s, %s]"
msgstr ""
-#: c-family/c-ada-spec.c:2840
+#: c-family/c-ada-spec.c:2843
#, gcc-internal-format
msgid "unsupported record layout"
msgstr ""
@@ -31991,7 +32003,7 @@ msgstr ""
msgid "type was previously declared %qE"
msgstr ""
-#: c-family/c-attribs.c:3948 cp/class.c:4749
+#: c-family/c-attribs.c:3948 cp/class.c:4756
#, gcc-internal-format
msgid ""
"%<transaction_safe_dynamic%> may only be specified for a virtual function"
@@ -32012,7 +32024,7 @@ msgstr ""
msgid "%qE argument is not a function"
msgstr ""
-#: c-family/c-attribs.c:4068 cp/name-lookup.c:6060
+#: c-family/c-attribs.c:4068 cp/name-lookup.c:6077
#, gcc-internal-format
msgid "deprecated message is not a string"
msgstr ""
@@ -32473,12 +32485,12 @@ msgid ""
"%<true%>"
msgstr ""
-#: c-family/c-common.c:3500 cp/semantics.c:823 cp/typeck.c:9569
+#: c-family/c-common.c:3500 cp/semantics.c:842 cp/typeck.c:9576
#, gcc-internal-format
msgid "suggest parentheses around assignment used as truth value"
msgstr ""
-#: c-family/c-common.c:3587 c/c-decl.c:4688 c/c-decl.c:7081 c/c-typeck.c:15429
+#: c-family/c-common.c:3587 c/c-decl.c:4687 c/c-decl.c:7080 c/c-typeck.c:15489
#, gcc-internal-format
msgid "invalid use of %<restrict%>"
msgstr ""
@@ -32639,13 +32651,13 @@ msgid "%<fallthrough%> attribute specified with a parameter"
msgstr ""
#: c-family/c-common.c:5974 c-family/c-common.c:6804 c-family/c-common.c:6851
-#: c-family/c-common.c:6926 c-family/c-common.c:6999 c/c-typeck.c:3671
+#: c-family/c-common.c:6926 c-family/c-common.c:6999 c/c-typeck.c:3721
#, gcc-internal-format
msgid "too few arguments to function %qE"
msgstr ""
#: c-family/c-common.c:5979 c-family/c-common.c:6857 c-family/c-common.c:7025
-#: c/c-typeck.c:3535
+#: c/c-typeck.c:3585
#, gcc-internal-format
msgid "too many arguments to function %qE"
msgstr ""
@@ -33599,7 +33611,7 @@ msgstr ""
msgid "traditional C rejects string constant concatenation"
msgstr ""
-#: c-family/c-omp.c:116 cp/pt.c:18845
+#: c-family/c-omp.c:116 cp/pt.c:18934
#, gcc-internal-format
msgid ""
"%<#pragma omp critical%> with %<hint%> clause requires a name, except when "
@@ -33653,7 +33665,7 @@ msgstr ""
msgid "%<iterator%> modifier may not be specified on %<depobj%> construct"
msgstr ""
-#: c-family/c-omp.c:736 cp/semantics.c:9430
+#: c-family/c-omp.c:736 cp/semantics.c:9458
#, gcc-internal-format
msgid "invalid type for iteration variable %qE"
msgstr ""
@@ -33668,17 +33680,17 @@ msgstr ""
msgid "%qE is not initialized"
msgstr ""
-#: c-family/c-omp.c:778 cp/semantics.c:9319
+#: c-family/c-omp.c:778 cp/semantics.c:9347
#, gcc-internal-format
msgid "missing controlling predicate"
msgstr ""
-#: c-family/c-omp.c:884 cp/semantics.c:8938
+#: c-family/c-omp.c:884 cp/semantics.c:8966
#, gcc-internal-format
msgid "invalid controlling predicate"
msgstr ""
-#: c-family/c-omp.c:891 cp/semantics.c:9325
+#: c-family/c-omp.c:891 cp/semantics.c:9353
#, gcc-internal-format
msgid "missing increment expression"
msgstr ""
@@ -33688,7 +33700,7 @@ msgstr ""
msgid "increment is not constant 1 or -1 for %<!=%> condition"
msgstr ""
-#: c-family/c-omp.c:1022 cp/semantics.c:9053
+#: c-family/c-omp.c:1022 cp/semantics.c:9081
#, gcc-internal-format
msgid "invalid increment expression"
msgstr ""
@@ -33764,7 +33776,7 @@ msgid ""
"%<for simd%>, %<parallel for%>, %<parallel for simd%>"
msgstr ""
-#: c-family/c-omp.c:2382 c/c-typeck.c:15242 cp/semantics.c:8581
+#: c-family/c-omp.c:2382 c/c-typeck.c:15302 cp/semantics.c:8609
#, gcc-internal-format
msgid ""
"%qD specified in %<allocate%> clause but not in an explicit privatization "
@@ -34354,8 +34366,8 @@ msgstr ""
msgid "wrong type argument to %s"
msgstr ""
-#: c-family/c-warn.c:58 c-family/c-warn.c:71 cp/constexpr.c:2949
-#: cp/constexpr.c:6003
+#: c-family/c-warn.c:58 c-family/c-warn.c:71 cp/constexpr.c:3004
+#: cp/constexpr.c:6066
#, gcc-internal-format
msgid "overflow in constant expression"
msgstr ""
@@ -34879,17 +34891,17 @@ msgstr ""
msgid "function %qD used as %<asm%> output"
msgstr ""
-#: c-family/c-warn.c:1858 c/c-typeck.c:4924
+#: c-family/c-warn.c:1858 c/c-typeck.c:4984
#, gcc-internal-format
msgid "assignment of read-only location %qE"
msgstr ""
-#: c-family/c-warn.c:1859 c/c-typeck.c:4927
+#: c-family/c-warn.c:1859 c/c-typeck.c:4987
#, gcc-internal-format
msgid "increment of read-only location %qE"
msgstr ""
-#: c-family/c-warn.c:1860 c/c-typeck.c:4930
+#: c-family/c-warn.c:1860 c/c-typeck.c:4990
#, gcc-internal-format
msgid "decrement of read-only location %qE"
msgstr ""
@@ -35077,8 +35089,8 @@ msgid ""
"multiplication by element size"
msgstr ""
-#: c-family/c-warn.c:2251 c/c-typeck.c:12061 c/c-typeck.c:12229
-#: cp/typeck.c:5433
+#: c-family/c-warn.c:2251 c/c-typeck.c:12121 c/c-typeck.c:12289
+#: cp/typeck.c:5444
#, gcc-internal-format
msgid "comparison between types %qT and %qT"
msgstr ""
@@ -35161,101 +35173,101 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: c-family/c-warn.c:2790 c/c-typeck.c:5495 cp/call.c:5803
+#: c-family/c-warn.c:2791 c/c-typeck.c:5555 cp/call.c:5807
#, gcc-internal-format
msgid "this condition has identical branches"
msgstr ""
-#: c-family/c-warn.c:2897
+#: c-family/c-warn.c:2898
#, gcc-internal-format
msgid "macro expands to multiple statements"
msgstr ""
-#: c-family/c-warn.c:2898
+#: c-family/c-warn.c:2899
#, gcc-internal-format
msgid "some parts of macro expansion are not guarded by this %qs clause"
msgstr ""
-#: c-family/c-warn.c:2991
+#: c-family/c-warn.c:2992
#, gcc-internal-format
msgid ""
"converting a packed %qT pointer (alignment %d) to a %qT pointer (alignment "
"%d) may result in an unaligned pointer value"
msgstr ""
-#: c-family/c-warn.c:2998 c-family/c-warn.c:3001 cp/init.c:635
+#: c-family/c-warn.c:2999 c-family/c-warn.c:3002 cp/init.c:642
#, gcc-internal-format
msgid "defined here"
msgstr ""
-#: c-family/c-warn.c:3088
+#: c-family/c-warn.c:3089
#, gcc-internal-format
msgid ""
"taking address of packed member of %qT may result in an unaligned pointer "
"value"
msgstr ""
-#: c-family/c-warn.c:3315
+#: c-family/c-warn.c:3316
msgid "mismatch in bound %Z of argument %u declared as %s"
msgid_plural "mismatch in bounds %Z of argument %u declared as %s"
msgstr[0] ""
msgstr[1] ""
-#: c-family/c-warn.c:3318 c-family/c-warn.c:3688
+#: c-family/c-warn.c:3319 c-family/c-warn.c:3689
#, gcc-internal-format, gfc-internal-format
msgid "previously declared as %s"
msgstr ""
-#: c-family/c-warn.c:3452
+#: c-family/c-warn.c:3453
#, gcc-internal-format, gfc-internal-format
msgid "argument %u of type %s declared as a variable length array"
msgstr ""
-#: c-family/c-warn.c:3457
+#: c-family/c-warn.c:3458
#, gcc-internal-format, gfc-internal-format
msgid "previously declared as a pointer %s"
msgstr ""
-#: c-family/c-warn.c:3458
+#: c-family/c-warn.c:3459
#, gcc-internal-format, gfc-internal-format
msgid "previously declared as an ordinary array %s"
msgstr ""
-#: c-family/c-warn.c:3471 c-family/c-warn.c:3485
+#: c-family/c-warn.c:3472 c-family/c-warn.c:3486
#, gcc-internal-format, gfc-internal-format
msgid "argument %u of type %s declared as a pointer"
msgstr ""
-#: c-family/c-warn.c:3475 c-family/c-warn.c:3501
+#: c-family/c-warn.c:3476 c-family/c-warn.c:3502
#, gcc-internal-format, gfc-internal-format
msgid "previously declared as a variable length array %s"
msgstr ""
-#: c-family/c-warn.c:3488
+#: c-family/c-warn.c:3489
#, gcc-internal-format, gfc-internal-format
msgid "previously declared as an array %s"
msgstr ""
-#: c-family/c-warn.c:3497
+#: c-family/c-warn.c:3498
#, gcc-internal-format, gfc-internal-format
msgid "argument %u of type %s declared as an ordinary array"
msgstr ""
-#: c-family/c-warn.c:3525
+#: c-family/c-warn.c:3526
#, gcc-internal-format, gfc-internal-format
msgid "argument %u of type %s declared with %u variable bound"
msgid_plural "argument %u of type %s declared with %u variable bounds"
msgstr[0] ""
msgstr[1] ""
-#: c-family/c-warn.c:3532
+#: c-family/c-warn.c:3533
#, gcc-internal-format, gfc-internal-format
msgid "previously declared as %s with %u variable bound"
msgid_plural "previously declared as %s with %u variable bounds"
msgstr[0] ""
msgstr[1] ""
-#: c-family/c-warn.c:3556
+#: c-family/c-warn.c:3557
#, gcc-internal-format, gfc-internal-format
msgid "argument %u of type %s declared with %u unspecified variable bound"
msgid_plural ""
@@ -35263,63 +35275,63 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: c-family/c-warn.c:3564
+#: c-family/c-warn.c:3565
#, gcc-internal-format, gfc-internal-format
msgid "previously declared as %s with %u unspecified variable bound"
msgid_plural "previously declared as %s with %u unspecified variable bounds"
msgstr[0] ""
msgstr[1] ""
-#: c-family/c-warn.c:3571
+#: c-family/c-warn.c:3572
#, gcc-internal-format, gfc-internal-format
msgid "subsequently declared as %s with %u unspecified variable bound"
msgid_plural "subsequently declared as %s with %u unspecified variable bounds"
msgstr[0] ""
msgstr[1] ""
-#: c-family/c-warn.c:3624
+#: c-family/c-warn.c:3625
#, gcc-internal-format
msgid "argument %u of type %s declared with mismatched bound argument %E"
msgstr ""
-#: c-family/c-warn.c:3631 c-family/c-warn.c:3664
+#: c-family/c-warn.c:3632 c-family/c-warn.c:3665
#, gcc-internal-format
msgid "argument %u of type %s declared with mismatched bound %<%s%>"
msgstr ""
-#: c-family/c-warn.c:3643
+#: c-family/c-warn.c:3644
#, gcc-internal-format
msgid "previously declared as %s with bound argument %E"
msgstr ""
-#: c-family/c-warn.c:3648
+#: c-family/c-warn.c:3649
#, gcc-internal-format
msgid "previously declared as %s with bound %<%s%>"
msgstr ""
-#: c-family/c-warn.c:3667
+#: c-family/c-warn.c:3668
#, gcc-internal-format
msgid "previously declared as %s with bound %qs"
msgstr ""
-#: c-family/c-warn.c:3686
+#: c-family/c-warn.c:3687
#, gcc-internal-format, gfc-internal-format
msgid "argument %u of type %s with mismatched bound"
msgstr ""
-#: c-family/c-warn.c:3717
+#: c-family/c-warn.c:3718
#, gcc-internal-format
msgid ""
"expression does not compute the number of elements in this array; element "
"type is %qT, not %qT"
msgstr ""
-#: c-family/c-warn.c:3727
+#: c-family/c-warn.c:3728
#, gcc-internal-format
msgid "add parentheses around %qE to silence this warning"
msgstr ""
-#: c-family/c-warn.c:3731
+#: c-family/c-warn.c:3732
#, gcc-internal-format
msgid "add parentheses around the second %<sizeof%> to silence this warning"
msgstr ""
@@ -35334,7 +35346,7 @@ msgstr ""
msgid "too many input files"
msgstr ""
-#: common/config/aarch64/aarch64-common.c:519 config/aarch64/aarch64.c:14814
+#: common/config/aarch64/aarch64-common.c:519 config/aarch64/aarch64.c:16448
#, gcc-internal-format
msgid "unknown value %qs for %<-mcpu%>"
msgstr ""
@@ -35365,14 +35377,14 @@ msgid "unrecognized option passed to %%:target_mode_check"
msgstr ""
#: common/config/arm/arm-common.c:368 common/config/arm/arm-common.c:432
-#: common/config/arm/arm-common.c:479 config/aarch64/aarch64.c:14746
-#: config/aarch64/aarch64.c:14784
+#: common/config/arm/arm-common.c:479 config/aarch64/aarch64.c:16380
+#: config/aarch64/aarch64.c:16418
#, gcc-internal-format
msgid "valid arguments are: %s; did you mean %qs?"
msgstr ""
#: common/config/arm/arm-common.c:371 common/config/arm/arm-common.c:435
-#: common/config/arm/arm-common.c:482 config/aarch64/aarch64.c:14749
+#: common/config/arm/arm-common.c:482 config/aarch64/aarch64.c:16383
#, gcc-internal-format, gfc-internal-format
msgid "valid arguments are: %s"
msgstr ""
@@ -35534,64 +35546,64 @@ msgid ""
"64, 128, 256, or 512"
msgstr ""
-#: common/config/riscv/riscv-common.c:290
+#: common/config/riscv/riscv-common.c:295
#, gcc-internal-format
msgid "%<-march=%s%>: Extension `%s' appear more than one time."
msgstr ""
-#: common/config/riscv/riscv-common.c:535
+#: common/config/riscv/riscv-common.c:540
#, gcc-internal-format
msgid "%<-march=%s%>: Expect number after %<%dp%>."
msgstr ""
-#: common/config/riscv/riscv-common.c:605
+#: common/config/riscv/riscv-common.c:610
#, gcc-internal-format
msgid "%<-march=%s%>: rv%de is not a valid base ISA"
msgstr ""
-#: common/config/riscv/riscv-common.c:617
+#: common/config/riscv/riscv-common.c:622
#, gcc-internal-format
msgid ""
"version of `g` will be omitted, please specify version for individual "
"extension."
msgstr ""
-#: common/config/riscv/riscv-common.c:636
+#: common/config/riscv/riscv-common.c:641
#, gcc-internal-format
msgid "%<-march=%s%>: first ISA subset must be %<e%>, %<i%> or %<g%>"
msgstr ""
-#: common/config/riscv/riscv-common.c:663
+#: common/config/riscv/riscv-common.c:668
#, gcc-internal-format
msgid "%<-march=%s%>: unsupported ISA subset %<%c%>"
msgstr ""
-#: common/config/riscv/riscv-common.c:667
+#: common/config/riscv/riscv-common.c:672
#, gcc-internal-format
msgid "%<-march=%s%>: ISA string is not in canonical order. %<%c%>"
msgstr ""
-#: common/config/riscv/riscv-common.c:773
+#: common/config/riscv/riscv-common.c:778
#, gcc-internal-format
msgid "%<-march=%s%>: name of %s must be more than 1 letter"
msgstr ""
-#: common/config/riscv/riscv-common.c:785
+#: common/config/riscv/riscv-common.c:790
#, gcc-internal-format
msgid "%<-march=%s%>: %s must separate with _"
msgstr ""
-#: common/config/riscv/riscv-common.c:814
+#: common/config/riscv/riscv-common.c:819
#, gcc-internal-format
msgid "%<-march=%s%>: ISA string must begin with rv32 or rv64"
msgstr ""
-#: common/config/riscv/riscv-common.c:851
+#: common/config/riscv/riscv-common.c:856
#, gcc-internal-format
msgid "%<-march=%s%>: unexpected ISA string at end: %qs"
msgstr ""
-#: common/config/riscv/riscv-common.c:979
+#: common/config/riscv/riscv-common.c:984
#, gcc-internal-format
msgid "%<-mcpu=%s%>: unknown CPU"
msgstr ""
@@ -35754,96 +35766,96 @@ msgstr ""
msgid "%s conflicts with ppc64 (arch flags ignored)"
msgstr ""
-#: config/darwin.c:2011
+#: config/darwin.c:2006
#, gcc-internal-format, gfc-internal-format
msgid "failed to open temporary file %s for LTO output"
msgstr ""
-#: config/darwin.c:2104
+#: config/darwin.c:2099
#, gcc-internal-format
msgid ""
"%qE 2.95 vtable-compatibility attribute applies only when compiling a kext"
msgstr ""
-#: config/darwin.c:2111
+#: config/darwin.c:2106
#, gcc-internal-format
msgid "%qE 2.95 vtable-compatibility attribute applies only to C++ classes"
msgstr ""
-#: config/darwin.c:2848
+#: config/darwin.c:2843
#, gcc-internal-format
msgid ""
"protected visibility attribute not supported in this configuration; ignored"
msgstr ""
-#: config/darwin.c:3063
+#: config/darwin.c:3058
#, gcc-internal-format, gfc-internal-format
msgid "failed to open temporary file %s with LTO output"
msgstr ""
-#: config/darwin.c:3267
+#: config/darwin.c:3262
#, gcc-internal-format
msgid ""
"%<-fobjc-abi-version%> 2 must be used for 64 bit targets with %<-fnext-"
"runtime%>"
msgstr ""
-#: config/darwin.c:3272
+#: config/darwin.c:3267
#, gcc-internal-format
msgid ""
"%<-fobjc-abi-version%> %d is not supported for 32 bit targets with %<-fnext-"
"runtime%>"
msgstr ""
-#: config/darwin.c:3287
+#: config/darwin.c:3282
#, gcc-internal-format
msgid "%<-gsplit-dwarf%> is not supported on this platform, ignored"
msgstr ""
-#: config/darwin.c:3365
+#: config/darwin.c:3360
#, gcc-internal-format
msgid ""
"%<-mdynamic-no-pic%> overrides %<-fpic%>, %<-fPIC%>, %<-fpie%> or %<-fPIE%>"
msgstr ""
-#: config/darwin.c:3408
+#: config/darwin.c:3403
#, gcc-internal-format
msgid "%<-mpic-symbol-stubs%> is not required for 64-bit code (ignored)"
msgstr ""
-#: config/darwin.c:3588
+#: config/darwin.c:3583
#, gcc-internal-format
msgid "built-in function %qD requires the %<-mconstant-cfstrings%> flag"
msgstr ""
-#: config/darwin.c:3595
+#: config/darwin.c:3590
#, gcc-internal-format
msgid "built-in function %qD takes one argument only"
msgstr ""
-#: config/darwin.c:3683
+#: config/darwin.c:3678
#, gcc-internal-format
msgid "CFString literal is missing"
msgstr ""
-#: config/darwin.c:3694
+#: config/darwin.c:3689
#, gcc-internal-format
msgid "CFString literal expression is not a string constant"
msgstr ""
-#: config/darwin.c:3718
+#: config/darwin.c:3713
#, gcc-internal-format
msgid "non-ASCII character in CFString literal"
msgstr ""
-#: config/darwin.c:3719
+#: config/darwin.c:3714
#, gcc-internal-format
msgid "embedded NUL in CFString literal"
msgstr ""
#: config/host-darwin.c:65
#, gcc-internal-format
-msgid "could not unmap %<pch_address_space%> %m"
+msgid "could not unmap %<pch_address_space%>: %m"
msgstr ""
#: config/sol2-c.c:91 config/sol2-c.c:107
@@ -35979,43 +35991,43 @@ msgstr ""
msgid "unknown %<#pragma GCC aarch64%> option %qs"
msgstr ""
-#: config/aarch64/aarch64.c:1636
+#: config/aarch64/aarch64.c:1973
#, gcc-internal-format
msgid "the %qE attribute cannot be applied to an SVE function type"
msgstr ""
-#: config/aarch64/aarch64.c:1711 config/aarch64/aarch64.c:1725
+#: config/aarch64/aarch64.c:2048 config/aarch64/aarch64.c:2062
#, gcc-internal-format
msgid "unexpected %<%s%> after %<%s%>"
msgstr ""
-#: config/aarch64/aarch64.c:2178
+#: config/aarch64/aarch64.c:2515
#, gcc-internal-format
msgid "%qs is incompatible with the use of floating-point types"
msgstr ""
-#: config/aarch64/aarch64.c:2181
+#: config/aarch64/aarch64.c:2518
#, gcc-internal-format
msgid "%qs is incompatible with the use of vector types"
msgstr ""
-#: config/aarch64/aarch64.c:2185
+#: config/aarch64/aarch64.c:2522
#, gcc-internal-format
msgid ""
"%qs feature modifier is incompatible with the use of floating-point types"
msgstr ""
-#: config/aarch64/aarch64.c:2188
+#: config/aarch64/aarch64.c:2525
#, gcc-internal-format
msgid "%qs feature modifier is incompatible with the use of vector types"
msgstr ""
-#: config/aarch64/aarch64.c:2204
+#: config/aarch64/aarch64.c:2541
#, gcc-internal-format
msgid "this operation requires the SVE ISA extension"
msgstr ""
-#: config/aarch64/aarch64.c:2205
+#: config/aarch64/aarch64.c:2542
#, gcc-internal-format
msgid ""
"you can enable SVE using the command-line option %<-march%>, or by using the "
@@ -36024,335 +36036,335 @@ msgstr ""
#. We can't gracefully recover at this point, so make this a
#. fatal error.
-#: config/aarch64/aarch64.c:5704
+#: config/aarch64/aarch64.c:6103
#, gcc-internal-format
msgid "arguments of type %qT require the SVE ISA extension"
msgstr ""
-#: config/aarch64/aarch64.c:6025
+#: config/aarch64/aarch64.c:6424
#, gcc-internal-format
msgid "SVE type %qT cannot be passed to an unprototyped function"
msgstr ""
-#: config/aarch64/aarch64.c:6147 config/aarch64/aarch64.c:6210
-#: config/aarch64/aarch64.c:6329 config/aarch64/aarch64.c:16667
-#: config/arm/arm.c:7075 config/arm/arm.c:7105 config/arm/arm.c:28839
+#: config/aarch64/aarch64.c:6546 config/aarch64/aarch64.c:6609
+#: config/aarch64/aarch64.c:6732 config/aarch64/aarch64.c:18309
+#: config/arm/arm.c:7084 config/arm/arm.c:7114 config/arm/arm.c:28855
#, gcc-internal-format
msgid "parameter passing for argument of type %qT changed in GCC 9.1"
msgstr ""
-#: config/aarch64/aarch64.c:6278
+#: config/aarch64/aarch64.c:6677
#, gcc-internal-format
msgid "%qE requires the SVE ISA extension"
msgstr ""
-#: config/aarch64/aarch64.c:6281
+#: config/aarch64/aarch64.c:6680
#, gcc-internal-format
msgid "calls to functions of type %qT require the SVE ISA extension"
msgstr ""
-#: config/aarch64/aarch64.c:6453
+#: config/aarch64/aarch64.c:6857
#, gcc-internal-format
msgid "stack probes for SVE frames"
msgstr ""
-#: config/aarch64/aarch64.c:14270
+#: config/aarch64/aarch64.c:15904
#, gcc-internal-format
msgid "unknown flag passed in %<-moverride=%s%> (%s)"
msgstr ""
-#: config/aarch64/aarch64.c:14314
+#: config/aarch64/aarch64.c:15948
#, gcc-internal-format, gfc-internal-format
msgid "%s string ill-formed\n"
msgstr ""
-#: config/aarch64/aarch64.c:14370
+#: config/aarch64/aarch64.c:16004
#, gcc-internal-format
msgid "invalid format for sve_width"
msgstr ""
-#: config/aarch64/aarch64.c:14382
+#: config/aarch64/aarch64.c:16016
#, gcc-internal-format, gfc-internal-format
msgid "invalid sve_width value: %d"
msgstr ""
-#: config/aarch64/aarch64.c:14402
+#: config/aarch64/aarch64.c:16036
#, gcc-internal-format, gfc-internal-format
msgid "tuning string missing in option (%s)"
msgstr ""
-#: config/aarch64/aarch64.c:14420
+#: config/aarch64/aarch64.c:16054
#, gcc-internal-format, gfc-internal-format
msgid "unknown tuning option (%s)"
msgstr ""
-#: config/aarch64/aarch64.c:14588 config/riscv/riscv.c:4816
+#: config/aarch64/aarch64.c:16222 config/riscv/riscv.c:4825
#, gcc-internal-format
msgid ""
"incompatible options %<-mstack-protector-guard=global%> and %<-mstack-"
"protector-guard-offset=%s%>"
msgstr ""
-#: config/aarch64/aarch64.c:14597 config/riscv/riscv.c:4825
+#: config/aarch64/aarch64.c:16231 config/riscv/riscv.c:4834
#, gcc-internal-format
msgid ""
"both %<-mstack-protector-guard-offset%> and %<-mstack-protector-guard-reg%> "
"must be used with %<-mstack-protector-guard=sysreg%>"
msgstr ""
-#: config/aarch64/aarch64.c:14605
+#: config/aarch64/aarch64.c:16239
#, gcc-internal-format
msgid "specify a system register with a small string length."
msgstr ""
-#: config/aarch64/aarch64.c:14615 config/riscv/riscv.c:4854
-#: config/rs6000/rs6000.c:4583
+#: config/aarch64/aarch64.c:16249 config/riscv/riscv.c:4863
+#: config/rs6000/rs6000.c:4587
#, gcc-internal-format
msgid "%qs is not a valid offset in %qs"
msgstr ""
-#: config/aarch64/aarch64.c:14686
+#: config/aarch64/aarch64.c:16320
#, gcc-internal-format
msgid ""
"only values 12 (4 KB) and 16 (64 KB) are supported for guard size. Given "
"value %d (%llu KB) is out of range"
msgstr ""
-#: config/aarch64/aarch64.c:14702
+#: config/aarch64/aarch64.c:16336
#, gcc-internal-format
msgid "stack clash guard size %<%d%> must be equal to probing interval %<%d%>"
msgstr ""
-#: config/aarch64/aarch64.c:14787
+#: config/aarch64/aarch64.c:16421
#, gcc-internal-format, gfc-internal-format
msgid "valid arguments are: %s;"
msgstr ""
-#: config/aarch64/aarch64.c:14811
+#: config/aarch64/aarch64.c:16445
#, gcc-internal-format
msgid "missing cpu name in %<-mcpu=%s%>"
msgstr ""
-#: config/aarch64/aarch64.c:14818
+#: config/aarch64/aarch64.c:16452
#, gcc-internal-format
msgid "invalid feature modifier %qs in %<-mcpu=%s%>"
msgstr ""
-#: config/aarch64/aarch64.c:14877
+#: config/aarch64/aarch64.c:16511
#, gcc-internal-format
msgid "invalid argument given to %<-mharden-sls=%>"
msgstr ""
-#: config/aarch64/aarch64.c:14888
+#: config/aarch64/aarch64.c:16522
#, gcc-internal-format
msgid "%<%s%> must be by itself for %<-mharden-sls=%>"
msgstr ""
-#: config/aarch64/aarch64.c:14893
+#: config/aarch64/aarch64.c:16527
#, gcc-internal-format
msgid "invalid argument %<%s%> for %<-mharden-sls=%>"
msgstr ""
-#: config/aarch64/aarch64.c:14999
+#: config/aarch64/aarch64.c:16633
#, gcc-internal-format
msgid "invalid argument %<%s%> for %<-mbranch-protection=%>"
msgstr ""
-#: config/aarch64/aarch64.c:15001
+#: config/aarch64/aarch64.c:16635
#, gcc-internal-format
msgid "missing argument for %<-mbranch-protection=%>"
msgstr ""
-#: config/aarch64/aarch64.c:15025
+#: config/aarch64/aarch64.c:16659
#, gcc-internal-format
msgid "missing arch name in %<-march=%s%>"
msgstr ""
-#: config/aarch64/aarch64.c:15028
+#: config/aarch64/aarch64.c:16662
#, gcc-internal-format
msgid "unknown value %qs for %<-march%>"
msgstr ""
-#: config/aarch64/aarch64.c:15032
+#: config/aarch64/aarch64.c:16666
#, gcc-internal-format
msgid "invalid feature modifier %qs in %<-march=%s%>"
msgstr ""
-#: config/aarch64/aarch64.c:15060
+#: config/aarch64/aarch64.c:16694
#, gcc-internal-format
msgid "missing cpu name in %<-mtune=%s%>"
msgstr ""
-#: config/aarch64/aarch64.c:15063
+#: config/aarch64/aarch64.c:16697
#, gcc-internal-format
msgid "unknown value %qs for %<-mtune%>"
msgstr ""
-#: config/aarch64/aarch64.c:15197 config/arm/arm.c:3244
+#: config/aarch64/aarch64.c:16831
#, gcc-internal-format
msgid "switch %<-mcpu=%s%> conflicts with %<-march=%s%> switch"
msgstr ""
-#: config/aarch64/aarch64.c:15253
+#: config/aarch64/aarch64.c:16887
#, gcc-internal-format
msgid "assembler does not support %<-mabi=ilp32%>"
msgstr ""
-#: config/aarch64/aarch64.c:15260
+#: config/aarch64/aarch64.c:16894
#, gcc-internal-format
msgid "return address signing is only supported for %<-mabi=lp64%>"
msgstr ""
-#: config/aarch64/aarch64.c:15342
+#: config/aarch64/aarch64.c:16976
#, gcc-internal-format
msgid "code model %qs with %<-f%s%>"
msgstr ""
-#: config/aarch64/aarch64.c:15345
+#: config/aarch64/aarch64.c:16979
#, gcc-internal-format
msgid "code model %qs not supported in ilp32 mode"
msgstr ""
-#: config/aarch64/aarch64.c:15520
+#: config/aarch64/aarch64.c:17158
#, gcc-internal-format
msgid "missing name in %<target(\"arch=\")%> pragma or attribute"
msgstr ""
-#: config/aarch64/aarch64.c:15523
+#: config/aarch64/aarch64.c:17161
#, gcc-internal-format
msgid "invalid name (\"%s\") in %<target(\"arch=\")%> pragma or attribute"
msgstr ""
-#: config/aarch64/aarch64.c:15527 config/aarch64/aarch64.c:15569
-#: config/aarch64/aarch64.c:15676
+#: config/aarch64/aarch64.c:17165 config/aarch64/aarch64.c:17207
+#: config/aarch64/aarch64.c:17314
#, gcc-internal-format
msgid ""
"invalid feature modifier %s of value (\"%s\") in %<target()%> pragma or "
"attribute"
msgstr ""
-#: config/aarch64/aarch64.c:15562
+#: config/aarch64/aarch64.c:17200
#, gcc-internal-format
msgid "missing name in %<target(\"cpu=\")%> pragma or attribute"
msgstr ""
-#: config/aarch64/aarch64.c:15565
+#: config/aarch64/aarch64.c:17203
#, gcc-internal-format
msgid "invalid name (\"%s\") in %<target(\"cpu=\")%> pragma or attribute"
msgstr ""
-#: config/aarch64/aarch64.c:15592
+#: config/aarch64/aarch64.c:17230
#, gcc-internal-format
msgid ""
"missing argument to %<target(\"branch-protection=\")%> pragma or attribute"
msgstr ""
-#: config/aarch64/aarch64.c:15596
+#: config/aarch64/aarch64.c:17234
#, gcc-internal-format
msgid ""
"invalid protection type (\"%s\") in %<target(\"branch-protection=\")%> "
"pragma or attribute"
msgstr ""
-#: config/aarch64/aarch64.c:15631
+#: config/aarch64/aarch64.c:17269
#, gcc-internal-format
msgid "invalid name (\"%s\") in %<target(\"tune=\")%> pragma or attribute"
msgstr ""
-#: config/aarch64/aarch64.c:15672
+#: config/aarch64/aarch64.c:17310
#, gcc-internal-format
msgid "missing value in %<target()%> pragma or attribute"
msgstr ""
-#: config/aarch64/aarch64.c:15730 config/aarch64/aarch64.c:15903
+#: config/aarch64/aarch64.c:17368 config/aarch64/aarch64.c:17541
#, gcc-internal-format
msgid "malformed %<target()%> pragma or attribute"
msgstr ""
-#: config/aarch64/aarch64.c:15774
+#: config/aarch64/aarch64.c:17412
#, gcc-internal-format
msgid "pragma or attribute %<target(\"%s\")%> does not accept an argument"
msgstr ""
-#: config/aarch64/aarch64.c:15782 config/i386/i386-options.c:1201
+#: config/aarch64/aarch64.c:17420 config/i386/i386-options.c:1204
#, gcc-internal-format
msgid "pragma or attribute %<target(\"%s\")%> does not allow a negated form"
msgstr ""
-#: config/aarch64/aarch64.c:15836
+#: config/aarch64/aarch64.c:17474
#, gcc-internal-format
msgid "pragma or attribute %<target(\"%s=%s\")%> is not valid"
msgstr ""
-#: config/aarch64/aarch64.c:15893 config/arm/arm.c:32851
-#: config/rs6000/rs6000.c:24138 config/s390/s390.c:15744
+#: config/aarch64/aarch64.c:17531 config/arm/arm.c:32867
+#: config/rs6000/rs6000.c:24255 config/s390/s390.c:15767
#, gcc-internal-format
msgid "attribute %<target%> argument not a string"
msgstr ""
-#: config/aarch64/aarch64.c:15920
+#: config/aarch64/aarch64.c:17558
#, gcc-internal-format
msgid "pragma or attribute %<target(\"%s\")%> is not valid"
msgstr ""
-#: config/aarch64/aarch64.c:15929
+#: config/aarch64/aarch64.c:17567
#, gcc-internal-format
msgid "malformed %<target(\"%s\")%> pragma or attribute"
msgstr ""
-#: config/aarch64/aarch64.c:17355 config/arm/arm.c:6427
-#: config/rs6000/rs6000-call.c:6329 config/s390/s390.c:12128
-#: config/s390/s390.c:12205
+#: config/aarch64/aarch64.c:18997 config/arm/arm.c:6436
+#: config/rs6000/rs6000-call.c:6329 config/s390/s390.c:12151
+#: config/s390/s390.c:12228
msgid ""
"parameter passing for argument of type %qT with %<[[no_unique_address]]%> "
"members changed %{in GCC 10.1%}"
msgstr ""
-#: config/aarch64/aarch64.c:17360 config/arm/arm.c:6432
-#: config/rs6000/rs6000-call.c:6324 config/s390/s390.c:12123
-#: config/s390/s390.c:12200
+#: config/aarch64/aarch64.c:19002 config/arm/arm.c:6441
+#: config/rs6000/rs6000-call.c:6324 config/s390/s390.c:12146
+#: config/s390/s390.c:12223
msgid ""
"parameter passing for argument of type %qT when C++17 is enabled changed to "
"match C++14 %{in GCC 10.1%}"
msgstr ""
-#: config/aarch64/aarch64.c:18493
+#: config/aarch64/aarch64.c:20135
#, gcc-internal-format
msgid "%Klane %wd out of range %wd - %wd"
msgstr ""
-#: config/aarch64/aarch64.c:18495
+#: config/aarch64/aarch64.c:20137
#, gcc-internal-format
msgid "lane %wd out of range %wd - %wd"
msgstr ""
-#: config/aarch64/aarch64.c:23410 config/i386/i386.c:22491
+#: config/aarch64/aarch64.c:25053 config/i386/i386.c:22491
#: config/i386/i386.c:22619
#, gcc-internal-format
msgid "unsupported simdlen %wd"
msgstr ""
-#: config/aarch64/aarch64.c:23420 config/aarch64/aarch64.c:23447
+#: config/aarch64/aarch64.c:25063 config/aarch64/aarch64.c:25090
#, gcc-internal-format
msgid "GCC does not currently support mixed size types for %<simd%> functions"
msgstr ""
-#: config/aarch64/aarch64.c:23424
+#: config/aarch64/aarch64.c:25067
#, gcc-internal-format
msgid "GCC does not currently support return type %qT for %<simd%> functions"
msgstr ""
-#: config/aarch64/aarch64.c:23428
+#: config/aarch64/aarch64.c:25071
#, gcc-internal-format
msgid "unsupported return type %qT for %<simd%> functions"
msgstr ""
-#: config/aarch64/aarch64.c:23451
+#: config/aarch64/aarch64.c:25094
#, gcc-internal-format
msgid "GCC does not currently support argument type %qT for %<simd%> functions"
msgstr ""
-#: config/aarch64/aarch64.c:23476
+#: config/aarch64/aarch64.c:25119
#, gcc-internal-format
msgid "GCC does not currently support simdlen %wd for type %qT"
msgstr ""
@@ -36413,7 +36425,7 @@ msgid "bad value %qs for %<-mmemory-latency%>"
msgstr ""
#: config/alpha/alpha.c:6651 config/alpha/alpha.c:6654 config/arc/arc.c:7073
-#: config/arc/arc.c:7347 config/s390/s390.c:856 config/tilegx/tilegx.c:3536
+#: config/arc/arc.c:7347 config/s390/s390.c:879 config/tilegx/tilegx.c:3536
#: config/tilepro/tilepro.c:3100
#, gcc-internal-format
msgid "bad builtin fcode"
@@ -36535,18 +36547,18 @@ msgstr ""
msgid "argument of %qE attribute is not \"ilink\" or \"firq\""
msgstr ""
-#: config/arc/arc.c:2130 config/arm/arm.c:7216 config/arm/arm.c:7234
-#: config/arm/arm.c:7415 config/avr/avr.c:9695 config/avr/avr.c:9711
+#: config/arc/arc.c:2130 config/arm/arm.c:7225 config/arm/arm.c:7243
+#: config/arm/arm.c:7424 config/avr/avr.c:9695 config/avr/avr.c:9711
#: config/bfin/bfin.c:4693 config/bfin/bfin.c:4754 config/bfin/bfin.c:4783
#: config/bpf/bpf.c:80 config/csky/csky.c:6068 config/csky/csky.c:6096
#: config/epiphany/epiphany.c:491 config/gcn/gcn.c:318
-#: config/h8300/h8300.c:4894 config/i386/i386-options.c:3429
-#: config/i386/i386-options.c:3606 config/i386/i386-options.c:3662
-#: config/i386/i386-options.c:3713 config/i386/i386-options.c:3750
+#: config/h8300/h8300.c:4894 config/i386/i386-options.c:3447
+#: config/i386/i386-options.c:3624 config/i386/i386-options.c:3680
+#: config/i386/i386-options.c:3731 config/i386/i386-options.c:3768
#: config/m68k/m68k.c:792 config/mcore/mcore.c:3066 config/nvptx/nvptx.c:5164
-#: config/riscv/riscv.c:3039 config/rl78/rl78.c:820 config/rl78/rl78.c:889
-#: config/rs6000/rs6000.c:20188 config/rx/rx.c:2727 config/rx/rx.c:2753
-#: config/s390/s390.c:1071 config/s390/s390.c:1158 config/sh/sh.c:8428
+#: config/riscv/riscv.c:3048 config/rl78/rl78.c:820 config/rl78/rl78.c:889
+#: config/rs6000/rs6000.c:20305 config/rx/rx.c:2727 config/rx/rx.c:2753
+#: config/s390/s390.c:1094 config/s390/s390.c:1181 config/sh/sh.c:8428
#: config/sh/sh.c:8446 config/sh/sh.c:8470 config/sh/sh.c:8541
#: config/sh/sh.c:8564 config/stormy16/stormy16.c:2229 config/v850/v850.c:2010
#: config/visium/visium.c:724
@@ -37037,229 +37049,234 @@ msgstr ""
msgid "target CPU does not support unaligned accesses"
msgstr ""
-#: config/arm/arm.c:3489
+#: config/arm/arm.c:3244
+#, gcc-internal-format
+msgid "switch %<-mcpu=%s%> conflicts with switch %<-march=%s%>"
+msgstr ""
+
+#: config/arm/arm.c:3494
#, gcc-internal-format
msgid "%<-mapcs-stack-check%> incompatible with %<-mno-apcs-frame%>"
msgstr ""
-#: config/arm/arm.c:3498
+#: config/arm/arm.c:3503
#, gcc-internal-format
msgid "%<-fpic%> and %<-mapcs-reent%> are incompatible"
msgstr ""
-#: config/arm/arm.c:3501
+#: config/arm/arm.c:3506
#, gcc-internal-format
msgid "APCS reentrant code not supported. Ignored"
msgstr ""
-#: config/arm/arm.c:3524
+#: config/arm/arm.c:3529
#, gcc-internal-format
msgid "option %<-mstructure-size-boundary%> is deprecated"
msgstr ""
-#: config/arm/arm.c:3532
+#: config/arm/arm.c:3537
#, gcc-internal-format
msgid "structure size boundary can only be set to 8, 32 or 64"
msgstr ""
-#: config/arm/arm.c:3534
+#: config/arm/arm.c:3539
#, gcc-internal-format
msgid "structure size boundary can only be set to 8 or 32"
msgstr ""
-#: config/arm/arm.c:3559
+#: config/arm/arm.c:3564
#, gcc-internal-format
msgid "RTP PIC is incompatible with %<-msingle-pic-base%>"
msgstr ""
-#: config/arm/arm.c:3571 config/arm/arm.c:32865
+#: config/arm/arm.c:3576 config/arm/arm.c:32881
#, gcc-internal-format
msgid "FDPIC mode is not supported in Thumb-1 mode"
msgstr ""
-#: config/arm/arm.c:3579
+#: config/arm/arm.c:3584
#, gcc-internal-format
msgid "%<-mpic-register=%> is useless without %<-fpic%>"
msgstr ""
-#: config/arm/arm.c:3588
+#: config/arm/arm.c:3593
#, gcc-internal-format
msgid "unable to use %qs for PIC register"
msgstr ""
-#: config/arm/arm.c:3610 config/pru/pru.c:612
+#: config/arm/arm.c:3615 config/pru/pru.c:612
#, gcc-internal-format
msgid "%<-freorder-blocks-and-partition%> not supported on this architecture"
msgstr ""
-#: config/arm/arm.c:3755
+#: config/arm/arm.c:3760
#, gcc-internal-format
msgid "selected fp16 options are incompatible"
msgstr ""
-#: config/arm/arm.c:3807
+#: config/arm/arm.c:3812
#, gcc-internal-format
msgid "iwmmxt requires an AAPCS compatible ABI for proper operation"
msgstr ""
-#: config/arm/arm.c:3810
+#: config/arm/arm.c:3815
#, gcc-internal-format
msgid "iwmmxt abi requires an iwmmxt capable cpu"
msgstr ""
-#: config/arm/arm.c:3818
+#: config/arm/arm.c:3823
#, gcc-internal-format
msgid "target CPU does not support interworking"
msgstr ""
-#: config/arm/arm.c:3831
+#: config/arm/arm.c:3836
#, gcc-internal-format
msgid "AAPCS does not support %<-mcaller-super-interworking%>"
msgstr ""
-#: config/arm/arm.c:3834
+#: config/arm/arm.c:3839
#, gcc-internal-format
msgid "AAPCS does not support %<-mcallee-super-interworking%>"
msgstr ""
-#: config/arm/arm.c:3839
+#: config/arm/arm.c:3844
#, gcc-internal-format
msgid "__fp16 and no ldrh"
msgstr ""
-#: config/arm/arm.c:3842
+#: config/arm/arm.c:3847
#, gcc-internal-format
msgid "target CPU does not support ARMv8-M Security Extensions"
msgstr ""
-#: config/arm/arm.c:3847
+#: config/arm/arm.c:3852
#, gcc-internal-format
msgid "ARMv8-M Security Extensions incompatible with selected FPU"
msgstr ""
-#: config/arm/arm.c:3859
+#: config/arm/arm.c:3864
#, gcc-internal-format
-msgid "%<-mfloat-abi=hard%>: selected processor lacks an FPU"
+msgid "%<-mfloat-abi=hard%>: selected architecture lacks an FPU"
msgstr ""
-#: config/arm/arm.c:3867
+#: config/arm/arm.c:3872
#, gcc-internal-format
msgid "%<-mfloat-abi=hard%> and VFP"
msgstr ""
-#: config/arm/arm.c:6101
+#: config/arm/arm.c:6110
#, gcc-internal-format
msgid "non-AAPCS derived PCS variant"
msgstr ""
-#: config/arm/arm.c:6103
+#: config/arm/arm.c:6112
#, gcc-internal-format
msgid "variadic functions must use the base AAPCS variant"
msgstr ""
-#: config/arm/arm.c:6123
+#: config/arm/arm.c:6132
#, gcc-internal-format
msgid "PCS variant"
msgstr ""
-#: config/arm/arm.c:6375
+#: config/arm/arm.c:6384
#, gcc-internal-format
msgid "Thumb-1 hard-float VFP ABI"
msgstr ""
-#: config/arm/arm.c:6464
+#: config/arm/arm.c:6473
#, gcc-internal-format
msgid "argument of type %qT not permitted with -mgeneral-regs-only"
msgstr ""
-#: config/arm/arm.c:6848 config/arm/arm.c:7069 config/arm/arm.c:7102
-#: config/arm/arm.c:28832
+#: config/arm/arm.c:6857 config/arm/arm.c:7078 config/arm/arm.c:7111
+#: config/arm/arm.c:28848
#, gcc-internal-format
msgid "parameter passing for argument of type %qT changed in GCC 7.1"
msgstr ""
-#: config/arm/arm.c:7240
+#: config/arm/arm.c:7249
#, gcc-internal-format
msgid ""
"FP registers might be clobbered despite %qE attribute: compile with %<-"
"mgeneral-regs-only%>"
msgstr ""
-#: config/arm/arm.c:7364
+#: config/arm/arm.c:7373
#, gcc-internal-format
msgid ""
"%qE attribute not available to functions with arguments passed on the stack"
msgstr ""
-#: config/arm/arm.c:7376
+#: config/arm/arm.c:7385
#, gcc-internal-format
msgid ""
"%qE attribute not available to functions with variable number of arguments"
msgstr ""
-#: config/arm/arm.c:7385
+#: config/arm/arm.c:7394
#, gcc-internal-format
msgid "%qE attribute not available to functions that return value on the stack"
msgstr ""
-#: config/arm/arm.c:7407 config/arm/arm.c:7459
+#: config/arm/arm.c:7416 config/arm/arm.c:7468
#, gcc-internal-format
msgid "%qE attribute ignored without %<-mcmse%> option."
msgstr ""
-#: config/arm/arm.c:7426
+#: config/arm/arm.c:7435
#, gcc-internal-format
msgid "%qE attribute has no effect on functions with static linkage"
msgstr ""
-#: config/arm/arm.c:7475
+#: config/arm/arm.c:7484
#, gcc-internal-format
msgid "%qE attribute only applies to base type of a function pointer"
msgstr ""
-#: config/arm/arm.c:9439
+#: config/arm/arm.c:9448
#, gcc-internal-format
msgid ""
"accessing thread-local storage is not currently supported with %<-mpure-code"
"%> or %<-mslow-flash-data%>"
msgstr ""
-#: config/arm/arm.c:13198
+#: config/arm/arm.c:13217
#, gcc-internal-format
msgid "%K%s %wd out of range %wd - %wd"
msgstr ""
-#: config/arm/arm.c:13201
+#: config/arm/arm.c:13220
#, gcc-internal-format
msgid "%s %wd out of range %wd - %wd"
msgstr ""
-#: config/arm/arm.c:25478
+#: config/arm/arm.c:25497
#, gcc-internal-format
msgid "unable to compute real location of stacked parameter"
msgstr ""
-#: config/arm/arm.c:26140
+#: config/arm/arm.c:26159
#, gcc-internal-format
msgid "Unexpected thumb1 far jump"
msgstr ""
-#: config/arm/arm.c:26399
+#: config/arm/arm.c:26418
#, gcc-internal-format
msgid "no low registers available for popping high registers"
msgstr ""
-#: config/arm/arm.c:26651
+#: config/arm/arm.c:26670
#, gcc-internal-format
msgid "Interrupt Service Routines cannot be coded in Thumb-1 mode"
msgstr ""
-#: config/arm/arm.c:26897
+#: config/arm/arm.c:26916
#, gcc-internal-format
msgid "%<-fstack-check=specific%> for Thumb-1"
msgstr ""
-#: config/arm/arm.c:32880
+#: config/arm/arm.c:32896
#, gcc-internal-format
msgid "invalid fpu for target attribute or pragma %qs"
msgstr ""
@@ -37267,22 +37284,22 @@ msgstr ""
#. This doesn't really make sense until we support
#. general dynamic selection of the architecture and all
#. sub-features.
-#: config/arm/arm.c:32888
+#: config/arm/arm.c:32904
#, gcc-internal-format
msgid "auto fpu selection not currently permitted here"
msgstr ""
-#: config/arm/arm.c:32901
+#: config/arm/arm.c:32917
#, gcc-internal-format
msgid "invalid architecture for target attribute or pragma %qs"
msgstr ""
-#: config/arm/arm.c:32915
+#: config/arm/arm.c:32931
#, gcc-internal-format
msgid "unknown target attribute or pragma %qs"
msgstr ""
-#: config/arm/arm.c:33927
+#: config/arm/arm.c:33943
#, gcc-internal-format
msgid "asm flags not supported in thumb1 mode"
msgstr ""
@@ -37361,17 +37378,17 @@ msgstr ""
msgid "%<-fPIE%> is not supported"
msgstr ""
-#: config/avr/avr.c:1040 config/avr/avr.c:1045 config/riscv/riscv.c:5111
+#: config/avr/avr.c:1040 config/avr/avr.c:1045 config/riscv/riscv.c:5122
#, gcc-internal-format
msgid "function attributes %qs and %qs are mutually exclusive"
msgstr ""
-#: config/avr/avr.c:1066 config/riscv/riscv.c:5123
+#: config/avr/avr.c:1066 config/riscv/riscv.c:5134
#, gcc-internal-format
msgid "%qs function cannot have arguments"
msgstr ""
-#: config/avr/avr.c:1069 config/riscv/riscv.c:5120
+#: config/avr/avr.c:1069 config/riscv/riscv.c:5131
#, gcc-internal-format
msgid "%qs function cannot return a value"
msgstr ""
@@ -38128,132 +38145,132 @@ msgstr ""
msgid "parameter to builtin not valid: %s"
msgstr ""
-#: config/i386/i386-expand.c:8043
+#: config/i386/i386-expand.c:8049
#, gcc-internal-format
msgid "interrupt service routine cannot be called directly"
msgstr ""
-#: config/i386/i386-expand.c:8453 config/i386/i386-expand.c:9905
+#: config/i386/i386-expand.c:8459 config/i386/i386-expand.c:9911
#, gcc-internal-format
msgid "the last argument must be a 2-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:8841
+#: config/i386/i386-expand.c:8847
#, gcc-internal-format
msgid "the fifth argument must be an 8-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:8936
+#: config/i386/i386-expand.c:8942
#, gcc-internal-format
msgid "the third argument must be an 8-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:9836
+#: config/i386/i386-expand.c:9842
#, gcc-internal-format
msgid "the last argument must be an 1-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:9851
+#: config/i386/i386-expand.c:9857
#, gcc-internal-format
msgid "the last argument must be a 3-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:9884
+#: config/i386/i386-expand.c:9890
#, gcc-internal-format
msgid "the last argument must be a 4-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:9924
+#: config/i386/i386-expand.c:9930
#, gcc-internal-format
msgid "the last argument must be a 1-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:9937
+#: config/i386/i386-expand.c:9943
#, gcc-internal-format
msgid "the last argument must be a 5-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:9947
+#: config/i386/i386-expand.c:9953
#, gcc-internal-format
msgid "the next to last argument must be an 8-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:9952
+#: config/i386/i386-expand.c:9958
#, gcc-internal-format
msgid "the last argument must be an 8-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:10089
+#: config/i386/i386-expand.c:10095
#, gcc-internal-format
msgid "the third argument must be comparison constant"
msgstr ""
-#: config/i386/i386-expand.c:10094
+#: config/i386/i386-expand.c:10100
#, gcc-internal-format
msgid "incorrect comparison mode"
msgstr ""
-#: config/i386/i386-expand.c:10100 config/i386/i386-expand.c:10420
+#: config/i386/i386-expand.c:10106 config/i386/i386-expand.c:10426
#, gcc-internal-format
msgid "incorrect rounding operand"
msgstr ""
-#: config/i386/i386-expand.c:10402
+#: config/i386/i386-expand.c:10408
#, gcc-internal-format
msgid "the immediate argument must be a 4-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:10408
+#: config/i386/i386-expand.c:10414
#, gcc-internal-format
msgid "the immediate argument must be a 5-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:10411
+#: config/i386/i386-expand.c:10417
#, gcc-internal-format
msgid "the immediate argument must be an 8-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:10906 config/rs6000/rs6000-call.c:10919
+#: config/i386/i386-expand.c:10912 config/rs6000/rs6000-call.c:10919
#, gcc-internal-format
msgid "selector must be an integer constant in the range [0, %wi]"
msgstr ""
-#: config/i386/i386-expand.c:11119
+#: config/i386/i386-expand.c:11125
#, gcc-internal-format
msgid "%qE needs unknown isa option"
msgstr ""
-#: config/i386/i386-expand.c:11123
+#: config/i386/i386-expand.c:11129
#, gcc-internal-format
msgid "%qE needs isa option %s"
msgstr ""
-#: config/i386/i386-expand.c:12044
+#: config/i386/i386-expand.c:12050
#, gcc-internal-format
msgid "the last argument must be a 32-bit immediate"
msgstr ""
-#: config/i386/i386-expand.c:12077
+#: config/i386/i386-expand.c:12083
#, gcc-internal-format
msgid "last argument must be an immediate"
msgstr ""
-#: config/i386/i386-expand.c:12838 config/i386/i386-expand.c:13050
+#: config/i386/i386-expand.c:12844 config/i386/i386-expand.c:13056
#, gcc-internal-format
msgid "the last argument must be scale 1, 2, 4, 8"
msgstr ""
-#: config/i386/i386-expand.c:13103
+#: config/i386/i386-expand.c:13109
#, gcc-internal-format
msgid "the forth argument must be scale 1, 2, 4, 8"
msgstr ""
-#: config/i386/i386-expand.c:13109
+#: config/i386/i386-expand.c:13115
#, gcc-internal-format
msgid "incorrect hint operand"
msgstr ""
-#: config/i386/i386-expand.c:13128
+#: config/i386/i386-expand.c:13134
#, gcc-internal-format
msgid "the argument to %<xabort%> intrinsic must be an 8-bit immediate"
msgstr ""
@@ -38275,87 +38292,87 @@ msgstr ""
msgid "multiversioning needs %<ifunc%> which is not supported on this target"
msgstr ""
-#: config/i386/i386-options.c:849 config/i386/i386-options.c:2000
-#: config/i386/i386-options.c:2009
+#: config/i386/i386-options.c:852 config/i386/i386-options.c:2010
+#: config/i386/i386-options.c:2019
#, gcc-internal-format, gfc-internal-format
msgid "code model %s does not support PIC mode"
msgstr ""
-#: config/i386/i386-options.c:1106
+#: config/i386/i386-options.c:1109
#, gcc-internal-format
msgid "attribute %qs argument is not a string"
msgstr ""
-#: config/i386/i386-options.c:1170
+#: config/i386/i386-options.c:1173
#, gcc-internal-format
msgid "attribute %qs argument %qs is unknown"
msgstr ""
-#: config/i386/i386-options.c:1233
+#: config/i386/i386-options.c:1236
#, gcc-internal-format
msgid "attribute value %qs was already specified in %qs attribute"
msgstr ""
-#: config/i386/i386-options.c:1271
+#: config/i386/i386-options.c:1274
#, gcc-internal-format
msgid "attribute value %qs is unknown in %qs attribute"
msgstr ""
-#: config/i386/i386-options.c:1522
+#: config/i386/i386-options.c:1525
#, gcc-internal-format
msgid "wrong argument %qs to option %qs"
msgstr ""
-#: config/i386/i386-options.c:1528
+#: config/i386/i386-options.c:1531
#, gcc-internal-format
msgid "size ranges of option %qs should be increasing"
msgstr ""
-#: config/i386/i386-options.c:1538
+#: config/i386/i386-options.c:1541
#, gcc-internal-format
msgid "wrong strategy name %qs specified for option %qs"
msgstr ""
#. rep; movq isn't available in 32-bit code.
-#: config/i386/i386-options.c:1564
+#: config/i386/i386-options.c:1567
#, gcc-internal-format
msgid ""
"strategy name %qs specified for option %qs not supported for 32-bit code"
msgstr ""
-#: config/i386/i386-options.c:1577
+#: config/i386/i386-options.c:1580
#, gcc-internal-format
msgid "unknown alignment %qs specified for option %qs"
msgstr ""
-#: config/i386/i386-options.c:1587
+#: config/i386/i386-options.c:1590
#, gcc-internal-format
msgid "the max value for the last size range should be -1 for option %qs"
msgstr ""
-#: config/i386/i386-options.c:1594
+#: config/i386/i386-options.c:1597
#, gcc-internal-format
msgid "too many size ranges specified in option %qs"
msgstr ""
-#: config/i386/i386-options.c:1647
+#: config/i386/i386-options.c:1650
#, gcc-internal-format
msgid "unknown parameter to option %<-mtune-ctrl%>: %s"
msgstr ""
-#: config/i386/i386-options.c:1832
+#: config/i386/i386-options.c:1835
#, gcc-internal-format
msgid "Intel MCU psABI isn%'t supported in %s mode"
msgstr ""
-#: config/i386/i386-options.c:1879
+#: config/i386/i386-options.c:1889
#, gcc-internal-format
msgid ""
"%<-mtune=x86-64%> is deprecated; use %<-mtune=k8%> or %<-mtune=generic%> "
"instead as appropriate"
msgstr ""
-#: config/i386/i386-options.c:1881
+#: config/i386/i386-options.c:1891
#, gcc-internal-format
msgid ""
"%<target(\"tune=x86-64\")%> is deprecated; use %<target(\"tune=k8\")%> or "
@@ -38363,439 +38380,439 @@ msgid ""
msgstr ""
#. rep; movq isn't available in 32-bit code.
-#: config/i386/i386-options.c:1909
+#: config/i386/i386-options.c:1919
#, gcc-internal-format
msgid "%<-mstringop-strategy=rep_8byte%> not supported for 32-bit code"
msgstr ""
-#: config/i386/i386-options.c:1914
+#: config/i386/i386-options.c:1924
#, gcc-internal-format
msgid "%<-muintr%> not supported for 32-bit code"
msgstr ""
-#: config/i386/i386-options.c:1929
+#: config/i386/i386-options.c:1939
#, gcc-internal-format
msgid "address mode %qs not supported in the %s bit mode"
msgstr ""
-#: config/i386/i386-options.c:1940
+#: config/i386/i386-options.c:1950
#, gcc-internal-format
msgid "%<-mabi=ms%> not supported with X32 ABI"
msgstr ""
-#: config/i386/i386-options.c:1946
+#: config/i386/i386-options.c:1956
#, gcc-internal-format
msgid "%<-mabi=%s%> not supported with %<-fsanitize=address%>"
msgstr ""
-#: config/i386/i386-options.c:1949
+#: config/i386/i386-options.c:1959
#, gcc-internal-format
msgid "%<-mabi=%s%> not supported with %<-fsanitize=kernel-address%>"
msgstr ""
-#: config/i386/i386-options.c:1953
+#: config/i386/i386-options.c:1963
#, gcc-internal-format
msgid "%<-mabi=%s%> not supported with %<-fsanitize=thread%>"
msgstr ""
-#: config/i386/i386-options.c:1970 config/i386/i386-options.c:1979
-#: config/i386/i386-options.c:1991 config/i386/i386-options.c:2002
-#: config/i386/i386-options.c:2013
+#: config/i386/i386-options.c:1980 config/i386/i386-options.c:1989
+#: config/i386/i386-options.c:2001 config/i386/i386-options.c:2012
+#: config/i386/i386-options.c:2023
#, gcc-internal-format
msgid "code model %qs not supported in the %s bit mode"
msgstr ""
-#: config/i386/i386-options.c:1982 config/i386/i386-options.c:1994
+#: config/i386/i386-options.c:1992 config/i386/i386-options.c:2004
#, gcc-internal-format
msgid "code model %qs not supported in x32 mode"
msgstr ""
-#: config/i386/i386-options.c:2037
+#: config/i386/i386-options.c:2047
#, gcc-internal-format
msgid "%<-masm=intel%> not supported in this configuration"
msgstr ""
-#: config/i386/i386-options.c:2042
+#: config/i386/i386-options.c:2052
#, gcc-internal-format, gfc-internal-format
msgid "%i-bit mode not compiled in"
msgstr ""
-#: config/i386/i386-options.c:2051
+#: config/i386/i386-options.c:2064
#, gcc-internal-format
msgid "%<generic%> CPU can be used only for %<-mtune=%> switch"
msgstr ""
-#: config/i386/i386-options.c:2053
+#: config/i386/i386-options.c:2066
#, gcc-internal-format
msgid "%<generic%> CPU can be used only for %<target(\"tune=\")%> attribute"
msgstr ""
-#: config/i386/i386-options.c:2060
+#: config/i386/i386-options.c:2073
#, gcc-internal-format
msgid "%<intel%> CPU can be used only for %<-mtune=%> switch"
msgstr ""
-#: config/i386/i386-options.c:2062
+#: config/i386/i386-options.c:2075
#, gcc-internal-format
msgid "%<intel%> CPU can be used only for %<target(\"tune=\")%> attribute"
msgstr ""
-#: config/i386/i386-options.c:2070 config/i386/i386-options.c:2444
+#: config/i386/i386-options.c:2083 config/i386/i386-options.c:2457
#, gcc-internal-format
msgid "CPU you selected does not support x86-64 instruction set"
msgstr ""
-#: config/i386/i386-options.c:2383
+#: config/i386/i386-options.c:2396
#, gcc-internal-format
msgid "bad value (%qs) for %<-march=%> switch"
msgstr ""
-#: config/i386/i386-options.c:2384
+#: config/i386/i386-options.c:2397
#, gcc-internal-format
msgid "bad value (%qs) for %<target(\"arch=\")%> attribute"
msgstr ""
-#: config/i386/i386-options.c:2406
+#: config/i386/i386-options.c:2419
#, gcc-internal-format
msgid "valid arguments to %<-march=%> switch are: %s; did you mean %qs?"
msgstr ""
-#: config/i386/i386-options.c:2408
+#: config/i386/i386-options.c:2421
#, gcc-internal-format
msgid ""
"valid arguments to %<target(\"arch=\")%> attribute are: %s; did you mean %qs?"
msgstr ""
-#: config/i386/i386-options.c:2413
+#: config/i386/i386-options.c:2426
#, gcc-internal-format
msgid "valid arguments to %<-march=%> switch are: %s"
msgstr ""
-#: config/i386/i386-options.c:2414
+#: config/i386/i386-options.c:2427
#, gcc-internal-format
msgid "valid arguments to %<target(\"arch=\")%> attribute are: %s"
msgstr ""
-#: config/i386/i386-options.c:2463
+#: config/i386/i386-options.c:2476
#, gcc-internal-format
msgid "bad value (%qs) for %<-mtune=%> switch"
msgstr ""
-#: config/i386/i386-options.c:2464
+#: config/i386/i386-options.c:2477
#, gcc-internal-format
msgid "bad value (%qs) for %<target(\"tune=\")%> attribute"
msgstr ""
-#: config/i386/i386-options.c:2485
+#: config/i386/i386-options.c:2498
#, gcc-internal-format
msgid "valid arguments to %<-mtune=%> switch are: %s; did you mean %qs?"
msgstr ""
-#: config/i386/i386-options.c:2487
+#: config/i386/i386-options.c:2500
#, gcc-internal-format
msgid ""
"valid arguments to %<target(\"tune=\")%> attribute are: %s; did you mean %qs?"
msgstr ""
-#: config/i386/i386-options.c:2492
+#: config/i386/i386-options.c:2505
#, gcc-internal-format
msgid "valid arguments to %<-mtune=%> switch are: %s"
msgstr ""
-#: config/i386/i386-options.c:2493
+#: config/i386/i386-options.c:2506
#, gcc-internal-format
msgid "valid arguments to %<target(\"tune=\")%> attribute are: %s"
msgstr ""
-#: config/i386/i386-options.c:2517
+#: config/i386/i386-options.c:2530
#, gcc-internal-format
msgid "%<-mregparm%> is ignored in 64-bit mode"
msgstr ""
-#: config/i386/i386-options.c:2519
+#: config/i386/i386-options.c:2532
#, gcc-internal-format
msgid "%<-mregparm%> is ignored for Intel MCU psABI"
msgstr ""
-#: config/i386/i386-options.c:2522
+#: config/i386/i386-options.c:2535
#, gcc-internal-format
msgid "%<-mregparm=%d%> is not between 0 and %d"
msgstr ""
-#: config/i386/i386-options.c:2550
+#: config/i386/i386-options.c:2563
#, gcc-internal-format
msgid "%<-mrtd%> is ignored in 64bit mode"
msgstr ""
-#: config/i386/i386-options.c:2551
+#: config/i386/i386-options.c:2564
#, gcc-internal-format
msgid "%<target(\"rtd\")%> is ignored in 64bit mode"
msgstr ""
-#: config/i386/i386-options.c:2630
+#: config/i386/i386-options.c:2648
#, gcc-internal-format
msgid "%<-mpreferred-stack-boundary%> is not supported for this target"
msgstr ""
-#: config/i386/i386-options.c:2633
+#: config/i386/i386-options.c:2651
#, gcc-internal-format
msgid "%<-mpreferred-stack-boundary=%d%> is not between %d and %d"
msgstr ""
-#: config/i386/i386-options.c:2656
+#: config/i386/i386-options.c:2674
#, gcc-internal-format
msgid "%<-mincoming-stack-boundary=%d%> is not between %d and 12"
msgstr ""
-#: config/i386/i386-options.c:2669
+#: config/i386/i386-options.c:2687
#, gcc-internal-format
msgid "%<-mnop-mcount%> is not compatible with this target"
msgstr ""
-#: config/i386/i386-options.c:2672
+#: config/i386/i386-options.c:2690
#, gcc-internal-format
msgid "%<-mnop-mcount%> is not implemented for %<-fPIC%>"
msgstr ""
-#: config/i386/i386-options.c:2678
+#: config/i386/i386-options.c:2696
#, gcc-internal-format
msgid "%<-msseregparm%> used without SSE enabled"
msgstr ""
-#: config/i386/i386-options.c:2679
+#: config/i386/i386-options.c:2697
#, gcc-internal-format
msgid "%<target(\"sseregparm\")%> used without SSE enabled"
msgstr ""
-#: config/i386/i386-options.c:2689
+#: config/i386/i386-options.c:2707
#, gcc-internal-format
msgid "SSE instruction set disabled, using 387 arithmetics"
msgstr ""
-#: config/i386/i386-options.c:2696
+#: config/i386/i386-options.c:2714
#, gcc-internal-format
msgid "387 instruction set disabled, using SSE arithmetics"
msgstr ""
-#: config/i386/i386-options.c:2746
+#: config/i386/i386-options.c:2764
#, gcc-internal-format
msgid "stack probing requires %<-maccumulate-outgoing-args%> for correctness"
msgstr ""
-#: config/i386/i386-options.c:2748
+#: config/i386/i386-options.c:2766
#, gcc-internal-format
msgid ""
"stack probing requires %<target(\"accumulate-outgoing-args\")%> for "
"correctness"
msgstr ""
-#: config/i386/i386-options.c:2762
+#: config/i386/i386-options.c:2780
#, gcc-internal-format
msgid "fixed ebp register requires %<-maccumulate-outgoing-args%>"
msgstr ""
-#: config/i386/i386-options.c:2764
+#: config/i386/i386-options.c:2782
#, gcc-internal-format
msgid "fixed ebp register requires %<target(\"accumulate-outgoing-args\")%>"
msgstr ""
-#: config/i386/i386-options.c:2818
+#: config/i386/i386-options.c:2836
#, gcc-internal-format
msgid "%<-mfentry%> isn%'t supported for 32-bit in combination with %<-fpic%>"
msgstr ""
-#: config/i386/i386-options.c:2821
+#: config/i386/i386-options.c:2839
#, gcc-internal-format
msgid "%<-mno-fentry%> isn%'t compatible with SEH"
msgstr ""
-#: config/i386/i386-options.c:2825
+#: config/i386/i386-options.c:2843
#, gcc-internal-format
msgid "%<-mcall-ms2sysv-xlogues%> isn%'t currently supported with SEH"
msgstr ""
-#: config/i386/i386-options.c:2890
+#: config/i386/i386-options.c:2908
#, gcc-internal-format
msgid "unknown option for %<-mrecip=%s%>"
msgstr ""
-#: config/i386/i386-options.c:2949
+#: config/i386/i386-options.c:2967
#, gcc-internal-format
msgid "%qs is not a valid number in %<-mstack-protector-guard-offset=%>"
msgstr ""
-#: config/i386/i386-options.c:2954
+#: config/i386/i386-options.c:2972
#, gcc-internal-format
msgid "%qs is not a valid offset in %<-mstack-protector-guard-offset=%>"
msgstr ""
-#: config/i386/i386-options.c:2982
+#: config/i386/i386-options.c:3000
#, gcc-internal-format
msgid "%qs is not a valid base register in %<-mstack-protector-guard-reg=%>"
msgstr ""
-#: config/i386/i386-options.c:3030
+#: config/i386/i386-options.c:3048
#, gcc-internal-format
msgid "%<-fcf-protection%> is not compatible with this target"
msgstr ""
-#: config/i386/i386-options.c:3157
+#: config/i386/i386-options.c:3175
#, gcc-internal-format
msgid "interrupt and naked attributes are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3172
+#: config/i386/i386-options.c:3190
#, gcc-internal-format
msgid "only DWARF debug format is supported for interrupt service routine"
msgstr ""
-#: config/i386/i386-options.c:3221
+#: config/i386/i386-options.c:3239
#, gcc-internal-format
msgid "%<-mindirect-branch=%s%> and %<-mcmodel=large%> are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3231
+#: config/i386/i386-options.c:3249
#, gcc-internal-format
msgid "%<-mindirect-branch%> and %<-fcf-protection%> are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3266
+#: config/i386/i386-options.c:3284
#, gcc-internal-format
msgid "%<-mfunction-return=%s%> and %<-mcmodel=large%> are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3276
+#: config/i386/i386-options.c:3294
#, gcc-internal-format
msgid "%<-mfunction-return%> and %<-fcf-protection%> are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3389
+#: config/i386/i386-options.c:3407
#, gcc-internal-format
msgid "%s instructions aren%'t allowed in an exception service routine"
msgstr ""
-#: config/i386/i386-options.c:3391
+#: config/i386/i386-options.c:3409
#, gcc-internal-format
msgid "%s instructions aren%'t allowed in an interrupt service routine"
msgstr ""
-#: config/i386/i386-options.c:3395
+#: config/i386/i386-options.c:3413
#, gcc-internal-format
msgid ""
"%s instructions aren%'t allowed in a function with the "
"%<no_caller_saved_registers%> attribute"
msgstr ""
-#: config/i386/i386-options.c:3442 config/i386/i386-options.c:3493
+#: config/i386/i386-options.c:3460 config/i386/i386-options.c:3511
#, gcc-internal-format
msgid "fastcall and regparm attributes are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3447
+#: config/i386/i386-options.c:3465
#, gcc-internal-format
msgid "regparam and thiscall attributes are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3454 config/i386/i386-options.c:3682
+#: config/i386/i386-options.c:3472 config/i386/i386-options.c:3700
#, gcc-internal-format
msgid "%qE attribute requires an integer constant argument"
msgstr ""
-#: config/i386/i386-options.c:3460
+#: config/i386/i386-options.c:3478
#, gcc-internal-format
msgid "argument to %qE attribute larger than %d"
msgstr ""
-#: config/i386/i386-options.c:3485 config/i386/i386-options.c:3528
+#: config/i386/i386-options.c:3503 config/i386/i386-options.c:3546
#, gcc-internal-format
msgid "fastcall and cdecl attributes are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3489
+#: config/i386/i386-options.c:3507
#, gcc-internal-format
msgid "fastcall and stdcall attributes are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3497 config/i386/i386-options.c:3546
+#: config/i386/i386-options.c:3515 config/i386/i386-options.c:3564
#, gcc-internal-format
msgid "fastcall and thiscall attributes are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3507 config/i386/i386-options.c:3524
+#: config/i386/i386-options.c:3525 config/i386/i386-options.c:3542
#, gcc-internal-format
msgid "stdcall and cdecl attributes are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3511
+#: config/i386/i386-options.c:3529
#, gcc-internal-format
msgid "stdcall and fastcall attributes are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3515 config/i386/i386-options.c:3542
+#: config/i386/i386-options.c:3533 config/i386/i386-options.c:3560
#, gcc-internal-format
msgid "stdcall and thiscall attributes are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3532 config/i386/i386-options.c:3550
+#: config/i386/i386-options.c:3550 config/i386/i386-options.c:3568
#, gcc-internal-format
msgid "cdecl and thiscall attributes are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3538
+#: config/i386/i386-options.c:3556
#, gcc-internal-format
msgid "%qE attribute is used for non-class method"
msgstr ""
-#: config/i386/i386-options.c:3642 config/rs6000/rs6000.c:20301
+#: config/i386/i386-options.c:3660 config/rs6000/rs6000.c:20418
#, gcc-internal-format
msgid "%qE incompatible attribute ignored"
msgstr ""
-#: config/i386/i386-options.c:3669
+#: config/i386/i386-options.c:3687
#, gcc-internal-format
msgid "%qE attribute only available for 32-bit"
msgstr ""
-#: config/i386/i386-options.c:3690
+#: config/i386/i386-options.c:3708
#, gcc-internal-format
msgid "argument to %qE attribute is neither zero, nor one"
msgstr ""
-#: config/i386/i386-options.c:3724 config/i386/i386-options.c:3734
+#: config/i386/i386-options.c:3742 config/i386/i386-options.c:3752
#, gcc-internal-format
msgid "%qs and %qs attributes are not compatible"
msgstr ""
-#: config/i386/i386-options.c:3761 config/i386/i386-options.c:3783
-#: config/ia64/ia64.c:812 config/s390/s390.c:1168
+#: config/i386/i386-options.c:3779 config/i386/i386-options.c:3801
+#: config/ia64/ia64.c:812 config/s390/s390.c:1191
#, gcc-internal-format
msgid "%qE attribute requires a string constant argument"
msgstr ""
-#: config/i386/i386-options.c:3771 config/i386/i386-options.c:3793
-#: config/s390/s390.c:1197
+#: config/i386/i386-options.c:3789 config/i386/i386-options.c:3811
+#: config/s390/s390.c:1220
#, gcc-internal-format
msgid "argument to %qE attribute is not (keep|thunk|thunk-inline|thunk-extern)"
msgstr ""
-#: config/i386/i386-options.c:3825
+#: config/i386/i386-options.c:3843
#, gcc-internal-format
msgid "interrupt service routine should have a pointer as the first argument"
msgstr ""
-#: config/i386/i386-options.c:3832
+#: config/i386/i386-options.c:3850
#, gcc-internal-format
msgid "interrupt service routine should have %qs as the second argument"
msgstr ""
-#: config/i386/i386-options.c:3843
+#: config/i386/i386-options.c:3861
#, gcc-internal-format
msgid ""
"interrupt service routine can only have a pointer argument and an optional "
"integer argument"
msgstr ""
-#: config/i386/i386-options.c:3846
+#: config/i386/i386-options.c:3864
#, gcc-internal-format
msgid "interrupt service routine must return %<void%>"
msgstr ""
@@ -39265,7 +39282,7 @@ msgstr ""
msgid "%qE redeclared with conflicting %qs attributes"
msgstr ""
-#: config/mips/mips.c:1511 config/mips/mips.c:1565 config/riscv/riscv.c:3067
+#: config/mips/mips.c:1511 config/mips/mips.c:1565 config/riscv/riscv.c:3076
#, gcc-internal-format
msgid "%qE attribute requires a string argument"
msgstr ""
@@ -40348,60 +40365,60 @@ msgstr ""
msgid "unknown cpu %qs for %<-mtune%>"
msgstr ""
-#: config/riscv/riscv.c:2687 config/riscv/riscv.c:2729
+#: config/riscv/riscv.c:2696 config/riscv/riscv.c:2738
#, gcc-internal-format
msgid "ABI for flattened struct with zero-length bit-fields changed in GCC 10"
msgstr ""
-#: config/riscv/riscv.c:3078
+#: config/riscv/riscv.c:3087
#, gcc-internal-format
msgid ""
"argument to %qE attribute is not \"user\", \"supervisor\", or \"machine\""
msgstr ""
-#: config/riscv/riscv.c:4735
+#: config/riscv/riscv.c:4744
#, gcc-internal-format
msgid "%<-mdiv%> requires %<-march%> to subsume the %<M%> extension"
msgstr ""
-#: config/riscv/riscv.c:4778
+#: config/riscv/riscv.c:4787
#, gcc-internal-format
msgid "requested ABI requires %<-march%> to subsume the %qc extension"
msgstr ""
-#: config/riscv/riscv.c:4782
+#: config/riscv/riscv.c:4791
#, gcc-internal-format
msgid "rv32e requires ilp32e ABI"
msgstr ""
-#: config/riscv/riscv.c:4786
+#: config/riscv/riscv.c:4795
#, gcc-internal-format
msgid "ABI requires %<-march=rv%d%>"
msgstr ""
-#: config/riscv/riscv.c:4796
+#: config/riscv/riscv.c:4805
#, gcc-internal-format
msgid "%<-mpreferred-stack-boundary=%d%> must be between %d and %d"
msgstr ""
-#: config/riscv/riscv.c:4809
+#: config/riscv/riscv.c:4818
#, gcc-internal-format
msgid ""
"%<-mriscv-attribute%> RISC-V ELF attribute requires GNU as 2.32 [%<-mriscv-"
"attribute%>]"
msgstr ""
-#: config/riscv/riscv.c:4836 config/rs6000/rs6000.c:4595
+#: config/riscv/riscv.c:4845 config/rs6000/rs6000.c:4599
#, gcc-internal-format
msgid "%qs is not a valid base register in %qs"
msgstr ""
-#: config/riscv/riscv.c:4850 config/rs6000/rs6000.c:4578
+#: config/riscv/riscv.c:4859 config/rs6000/rs6000.c:4582
#, gcc-internal-format
msgid "%qs is not a valid number in %qs"
msgstr ""
-#: config/riscv/riscv.c:5149
+#: config/riscv/riscv.c:5160
#, gcc-internal-format
msgid "%qs function cannot have different interrupt type"
msgstr ""
@@ -40924,55 +40941,55 @@ msgstr ""
msgid "Stack frame larger than 2G is not supported for %<-fsplit-stack%>"
msgstr ""
-#: config/rs6000/rs6000.c:3238 config/rs6000/rs6000.c:3241
-#: config/rs6000/rs6000.c:3244
+#: config/rs6000/rs6000.c:3242 config/rs6000/rs6000.c:3245
+#: config/rs6000/rs6000.c:3248
#, gcc-internal-format
msgid "%qs requires %qs or %qs"
msgstr ""
-#: config/rs6000/rs6000.c:3345
+#: config/rs6000/rs6000.c:3349
#, gcc-internal-format
msgid "%qs requires PowerPC64 architecture, enabling"
msgstr ""
-#: config/rs6000/rs6000.c:3491
+#: config/rs6000/rs6000.c:3495
#, gcc-internal-format
msgid "%<-mcall-aixdesc%> incompatible with %<-mabi=elfv2%>"
msgstr ""
-#: config/rs6000/rs6000.c:3511 config/rs6000/rtems.h:114
+#: config/rs6000/rs6000.c:3515 config/rs6000/rtems.h:114
#, gcc-internal-format
msgid "%<-m64%> requires a PowerPC64 cpu"
msgstr ""
-#: config/rs6000/rs6000.c:3519
+#: config/rs6000/rs6000.c:3523
#, gcc-internal-format
msgid "%<-mcmodel incompatible with other toc options%>"
msgstr ""
-#: config/rs6000/rs6000.c:3540
+#: config/rs6000/rs6000.c:3544
#, gcc-internal-format
msgid "%qs unsupported for this ABI"
msgstr ""
-#: config/rs6000/rs6000.c:3673
+#: config/rs6000/rs6000.c:3677
#, gcc-internal-format
msgid ""
"%qs is not supported for 64-bit Darwin; it is incompatible with the "
"installed C and C++ libraries"
msgstr ""
-#: config/rs6000/rs6000.c:3812
+#: config/rs6000/rs6000.c:3816
#, gcc-internal-format
msgid "AltiVec not supported in this target"
msgstr ""
-#: config/rs6000/rs6000.c:3829
+#: config/rs6000/rs6000.c:3833
#, gcc-internal-format
msgid "%qs is not supported on little endian systems"
msgstr ""
-#: config/rs6000/rs6000.c:3915
+#: config/rs6000/rs6000.c:3919
#, gcc-internal-format
msgid ""
"power9 target option is incompatible with %<%s=<xxx>%> for <xxx> less than "
@@ -40981,191 +40998,191 @@ msgstr ""
#. Enforce that none of the ISA_3_0_MASKS_SERVER flags
#. were explicitly cleared.
-#: config/rs6000/rs6000.c:3923
+#: config/rs6000/rs6000.c:3927
#, gcc-internal-format
msgid "%qs incompatible with explicitly disabled options"
msgstr ""
#. TARGET_VSX = 1 implies Power 7 and newer
-#: config/rs6000/rs6000.c:3948 config/rs6000/rs6000.c:3956
-#: config/rs6000/rs6000.c:3963 config/rs6000/rs6000.c:3970
-#: config/rs6000/rs6000.c:3978 config/rs6000/rs6000.c:3997
-#: config/rs6000/rs6000.c:4059 config/rs6000/rs6000.c:4086
-#: config/rs6000/rs6000.c:4113 config/rs6000/rs6000.c:4128
-#: config/rs6000/rs6000.c:4136 config/rs6000/rs6000.c:4181
-#: config/rs6000/rs6000.c:4183 config/rs6000/rs6000.c:4275
-#: config/rs6000/rs6000.c:4288 config/rs6000/rs6000.c:4297
-#: config/rs6000/rs6000.c:4447 config/rs6000/rs6000.c:4470
+#: config/rs6000/rs6000.c:3952 config/rs6000/rs6000.c:3960
+#: config/rs6000/rs6000.c:3967 config/rs6000/rs6000.c:3974
+#: config/rs6000/rs6000.c:3982 config/rs6000/rs6000.c:4001
+#: config/rs6000/rs6000.c:4063 config/rs6000/rs6000.c:4090
+#: config/rs6000/rs6000.c:4117 config/rs6000/rs6000.c:4132
+#: config/rs6000/rs6000.c:4140 config/rs6000/rs6000.c:4185
+#: config/rs6000/rs6000.c:4187 config/rs6000/rs6000.c:4279
+#: config/rs6000/rs6000.c:4292 config/rs6000/rs6000.c:4301
+#: config/rs6000/rs6000.c:4451 config/rs6000/rs6000.c:4474
#, gcc-internal-format
msgid "%qs requires %qs"
msgstr ""
-#: config/rs6000/rs6000.c:4172
+#: config/rs6000/rs6000.c:4176
#, gcc-internal-format
msgid "target attribute or pragma changes %<long double%> size"
msgstr ""
-#: config/rs6000/rs6000.c:4198
+#: config/rs6000/rs6000.c:4202
#, gcc-internal-format
msgid "%qs requires full ISA 2.06 support"
msgstr ""
-#: config/rs6000/rs6000.c:4213
+#: config/rs6000/rs6000.c:4217
#, gcc-internal-format
msgid "Using IEEE extended precision %<long double%>"
msgstr ""
-#: config/rs6000/rs6000.c:4216
+#: config/rs6000/rs6000.c:4220
#, gcc-internal-format
msgid "Using IBM extended precision %<long double%>"
msgstr ""
-#: config/rs6000/rs6000.c:4235
+#: config/rs6000/rs6000.c:4239
#, gcc-internal-format
msgid "%qs requires VSX support"
msgstr ""
-#: config/rs6000/rs6000.c:4244
+#: config/rs6000/rs6000.c:4248
#, gcc-internal-format
msgid "The %<-mfloat128%> option may not be fully supported"
msgstr ""
-#: config/rs6000/rs6000.c:4267
+#: config/rs6000/rs6000.c:4271
#, gcc-internal-format
msgid "%qs requires full ISA 3.0 support"
msgstr ""
-#: config/rs6000/rs6000.c:4354
+#: config/rs6000/rs6000.c:4358
#, gcc-internal-format
msgid "unknown vectorization library ABI type (%qs) for %qs switch"
msgstr ""
-#: config/rs6000/rs6000.c:4379 config/rs6000/rs6000.c:4394
+#: config/rs6000/rs6000.c:4383 config/rs6000/rs6000.c:4398
#, gcc-internal-format
msgid "target attribute or pragma changes AltiVec ABI"
msgstr ""
-#: config/rs6000/rs6000.c:4407
+#: config/rs6000/rs6000.c:4411
#, gcc-internal-format
msgid "target attribute or pragma changes darwin64 ABI"
msgstr ""
-#: config/rs6000/rs6000.c:4603
+#: config/rs6000/rs6000.c:4607
#, gcc-internal-format
msgid "%qs needs a valid base register"
msgstr ""
-#: config/rs6000/rs6000.c:4900
+#: config/rs6000/rs6000.c:4904
#, gcc-internal-format
msgid "unknown option for %<%s=%s%>"
msgstr ""
-#: config/rs6000/rs6000.c:4937
+#: config/rs6000/rs6000.c:4941
#, gcc-internal-format
msgid "%qs is deprecated and not recommended in any circumstances"
msgstr ""
-#: config/rs6000/rs6000.c:7847
+#: config/rs6000/rs6000.c:7901
#, gcc-internal-format, gfc-internal-format
msgid ""
"the layout of aggregates containing vectors with %d-byte alignment has "
"changed in GCC 5"
msgstr ""
-#: config/rs6000/rs6000.c:10582
+#: config/rs6000/rs6000.c:10675
#, gcc-internal-format
-msgid "%qs is an opaque type, and you can't set it to other values."
+msgid "%qs is an opaque type, and you cannot set it to other values"
msgstr ""
-#: config/rs6000/rs6000.c:17677
+#: config/rs6000/rs6000.c:17794
#, gcc-internal-format
msgid "no profiling of 64-bit code for this ABI"
msgstr ""
-#: config/rs6000/rs6000.c:19967
+#: config/rs6000/rs6000.c:20084
#, gcc-internal-format
msgid ""
"you cannot take the address of a nested function if you use the %qs option"
msgstr ""
-#: config/rs6000/rs6000.c:20049
+#: config/rs6000/rs6000.c:20166
#, gcc-internal-format
msgid "use of %<long double%> in AltiVec types is invalid"
msgstr ""
-#: config/rs6000/rs6000.c:20051
+#: config/rs6000/rs6000.c:20168
#, gcc-internal-format
msgid "use of boolean types in AltiVec types is invalid"
msgstr ""
-#: config/rs6000/rs6000.c:20053
+#: config/rs6000/rs6000.c:20170
#, gcc-internal-format
msgid "use of %<complex%> in AltiVec types is invalid"
msgstr ""
-#: config/rs6000/rs6000.c:20055
+#: config/rs6000/rs6000.c:20172
#, gcc-internal-format
-msgid "use of decimal floating point types in AltiVec types is invalid"
+msgid "use of decimal floating-point types in AltiVec types is invalid"
msgstr ""
-#: config/rs6000/rs6000.c:20061
+#: config/rs6000/rs6000.c:20178
#, gcc-internal-format
msgid "use of %<long%> in AltiVec types is invalid for 64-bit code without %qs"
msgstr ""
-#: config/rs6000/rs6000.c:20064
+#: config/rs6000/rs6000.c:20181
#, gcc-internal-format
msgid "use of %<long%> in AltiVec types is deprecated; use %<int%>"
msgstr ""
-#: config/rs6000/rs6000.c:20069
+#: config/rs6000/rs6000.c:20186
#, gcc-internal-format
msgid "use of %<long long%> in AltiVec types is invalid without %qs"
msgstr ""
-#: config/rs6000/rs6000.c:20072
+#: config/rs6000/rs6000.c:20189
#, gcc-internal-format
msgid "use of %<double%> in AltiVec types is invalid without %qs"
msgstr ""
-#: config/rs6000/rs6000.c:24110
+#: config/rs6000/rs6000.c:24227
#, gcc-internal-format
msgid "invalid cpu %qs for %s%qs%s"
msgstr ""
-#: config/rs6000/rs6000.c:24113
+#: config/rs6000/rs6000.c:24230
#, gcc-internal-format
msgid "%s%qs%s is not allowed"
msgstr ""
-#: config/rs6000/rs6000.c:24115
+#: config/rs6000/rs6000.c:24232
#, gcc-internal-format
msgid "%s%qs%s is invalid"
msgstr ""
-#: config/rs6000/rs6000.c:24660
+#: config/rs6000/rs6000.c:24777
#, gcc-internal-format
msgid "%<-mno-%s%> turns off %<-m%s%>"
msgstr ""
-#: config/rs6000/rs6000.c:24819
+#: config/rs6000/rs6000.c:24936
#, gcc-internal-format
msgid ""
"%<target_clones%> attribute needs GLIBC (2.23 and newer) that exports "
"hardware capability bits"
msgstr ""
-#: config/rs6000/rs6000.c:24851
+#: config/rs6000/rs6000.c:24968
#, gcc-internal-format
msgid "multiversioning needs ifunc which is not supported on this target"
msgstr ""
-#: config/rs6000/rs6000.c:25107
+#: config/rs6000/rs6000.c:25224
#, gcc-internal-format
msgid "Virtual function multiversioning not supported"
msgstr ""
-#: config/rs6000/rs6000.c:27708
+#: config/rs6000/rs6000.c:27827
#, gcc-internal-format
msgid ""
"the result for the xxspltidp instruction is undefined for subnormal input "
@@ -41349,7 +41366,7 @@ msgstr ""
msgid "builtin vec_step can only be used on vector types."
msgstr ""
-#: config/s390/s390-c.c:712 config/s390/s390.c:896
+#: config/s390/s390-c.c:712 config/s390/s390.c:919
#, gcc-internal-format
msgid "constant value required for builtin %qF argument %d"
msgstr ""
@@ -41421,84 +41438,89 @@ msgstr ""
msgid "constant argument %d for builtin %qF is out of range for target type"
msgstr ""
-#: config/s390/s390.c:743
+#: config/s390/s390.c:762
+#, gcc-internal-format
+msgid "constant argument %d for builtin %qF is invalid (%s)"
+msgstr ""
+
+#: config/s390/s390.c:766
#, gcc-internal-format
msgid "constant argument %d for builtin %qF is out of range (0..%wu)"
msgstr ""
-#: config/s390/s390.c:759
+#: config/s390/s390.c:782
#, gcc-internal-format
msgid "constant argument %d for builtin %qF is out of range (%wd..%wd)"
msgstr ""
-#: config/s390/s390.c:808
+#: config/s390/s390.c:831
#, gcc-internal-format
msgid ""
"builtin %qF is not supported without %<-mhtm%> (default with %<-"
"march=zEC12%> and higher)."
msgstr ""
-#: config/s390/s390.c:814
+#: config/s390/s390.c:837
#, gcc-internal-format
msgid "builtin %qF requires %<-mvx%> (default with %<-march=z13%> and higher)."
msgstr ""
-#: config/s390/s390.c:821
+#: config/s390/s390.c:844
#, gcc-internal-format
msgid "Builtin %qF requires z14 or higher."
msgstr ""
-#: config/s390/s390.c:827
+#: config/s390/s390.c:850
#, gcc-internal-format
msgid "Builtin %qF requires z15 or higher."
msgstr ""
-#: config/s390/s390.c:833
+#: config/s390/s390.c:856
#, gcc-internal-format
msgid "Builtin %qF requires arch14 or higher."
msgstr ""
-#: config/s390/s390.c:852
+#: config/s390/s390.c:875
#, gcc-internal-format
msgid "unresolved overloaded builtin"
msgstr ""
-#: config/s390/s390.c:859 config/tilegx/tilegx.c:3539
+#: config/s390/s390.c:882 config/tilegx/tilegx.c:3539
#: config/tilepro/tilepro.c:3103
#, gcc-internal-format
msgid "bad builtin icode"
msgstr ""
-#: config/s390/s390.c:993
+#: config/s390/s390.c:1016
#, gcc-internal-format
msgid "invalid argument %d for builtin %qF"
msgstr ""
-#: config/s390/s390.c:1094
+#: config/s390/s390.c:1117
#, gcc-internal-format
msgid ""
"requested %qE attribute is not a comma separated pair of non-negative "
"integer constants or too large (max. %d)"
msgstr ""
-#: config/s390/s390.c:1184
+#: config/s390/s390.c:1207
#, gcc-internal-format
msgid "argument to %qE attribute is not (keep|thunk|thunk-extern)"
msgstr ""
-#: config/s390/s390.c:10001
+#: config/s390/s390.c:10024
#, gcc-internal-format
msgid "total size of local variables exceeds architecture limit"
msgstr ""
-#: config/s390/s390.c:11366
+#: config/s390/s390.c:11389
#, gcc-internal-format
msgid ""
"frame size of function %qs is %wd bytes exceeding user provided stack limit "
"of %d bytes. An unconditional trap is added."
msgstr ""
-#: config/s390/s390.c:11382
+#: config/s390/s390.c:11405
#, gcc-internal-format
msgid ""
"frame size of function %qs is %wd bytes which is more than half the stack "
@@ -41506,128 +41528,128 @@ msgid ""
"function."
msgstr ""
-#: config/s390/s390.c:11410
+#: config/s390/s390.c:11433
#, gcc-internal-format
msgid "frame size of %qs is %wd bytes"
msgstr ""
-#: config/s390/s390.c:11414
+#: config/s390/s390.c:11437
#, gcc-internal-format
msgid "%qs uses dynamic stack allocation"
msgstr ""
-#: config/s390/s390.c:13124
+#: config/s390/s390.c:13147
#, gcc-internal-format
msgid "nested functions cannot be profiled with %<-mfentry%> on s390"
msgstr ""
-#: config/s390/s390.c:15390
+#: config/s390/s390.c:15413
#, gcc-internal-format
msgid "64-bit ABI not supported in ESA/390 mode"
msgstr ""
-#: config/s390/s390.c:15397
+#: config/s390/s390.c:15420
#, gcc-internal-format
msgid "thunk-inline is only supported with %<-mindirect-branch-jump%>"
msgstr ""
-#: config/s390/s390.c:15432
+#: config/s390/s390.c:15455
#, gcc-internal-format, gfc-internal-format
msgid "hardware vector support not available on %s"
msgstr ""
-#: config/s390/s390.c:15435
+#: config/s390/s390.c:15458
#, gcc-internal-format
msgid "hardware vector support not available with %<-msoft-float%>"
msgstr ""
-#: config/s390/s390.c:15464
+#: config/s390/s390.c:15487
#, gcc-internal-format, gfc-internal-format
msgid "hardware decimal floating point instructions not available on %s"
msgstr ""
-#: config/s390/s390.c:15468
+#: config/s390/s390.c:15491
#, gcc-internal-format
msgid ""
"hardware decimal floating point instructions not available in ESA/390 mode"
msgstr ""
-#: config/s390/s390.c:15480
+#: config/s390/s390.c:15503
#, gcc-internal-format
msgid "%<-mhard-dfp%> can%'t be used in conjunction with %<-msoft-float%>"
msgstr ""
-#: config/s390/s390.c:15489
+#: config/s390/s390.c:15512
#, gcc-internal-format
msgid ""
"%<-mbackchain%> %<-mpacked-stack%> %<-mhard-float%> are not supported in "
"combination"
msgstr ""
-#: config/s390/s390.c:15495
+#: config/s390/s390.c:15518
#, gcc-internal-format
msgid "stack size must be greater than the stack guard value"
msgstr ""
-#: config/s390/s390.c:15497
+#: config/s390/s390.c:15520
#, gcc-internal-format
msgid "stack size must not be greater than 64k"
msgstr ""
-#: config/s390/s390.c:15500
+#: config/s390/s390.c:15523
#, gcc-internal-format
msgid "%<-mstack-guard%> implies use of %<-mstack-size%>"
msgstr ""
-#: config/s390/s390.c:15513
+#: config/s390/s390.c:15536
#, gcc-internal-format
msgid "-mtpf-trace-hook-prologue-check requires integer in range 0..4095"
msgstr ""
-#: config/s390/s390.c:15516
+#: config/s390/s390.c:15539
#, gcc-internal-format
msgid "-mtpf-trace-hook-prologue-target requires integer in range 0..4095"
msgstr ""
-#: config/s390/s390.c:15519
+#: config/s390/s390.c:15542
#, gcc-internal-format
msgid "-mtpf-trace-hook-epilogue-check requires integer in range 0..4095"
msgstr ""
-#: config/s390/s390.c:15522
+#: config/s390/s390.c:15545
#, gcc-internal-format
msgid "-mtpf-trace-hook-epilogue-target requires integer in range 0..4095"
msgstr ""
-#: config/s390/s390.c:15575
+#: config/s390/s390.c:15598
#, gcc-internal-format
msgid "%<-mfentry%> is supported only for 64-bit CPUs"
msgstr ""
#. argument is not a plain number
-#: config/s390/s390.c:15611
+#: config/s390/s390.c:15634
#, gcc-internal-format
msgid "arguments to %qs should be non-negative integers"
msgstr ""
-#: config/s390/s390.c:15618
+#: config/s390/s390.c:15641
#, gcc-internal-format
msgid "argument to %qs is too large (max. %d)"
msgstr ""
-#: config/s390/s390.c:15649
+#: config/s390/s390.c:15672
#, gcc-internal-format
msgid ""
"%<-mno-pic-data-is-text-relative%> cannot be used without %<-fpic%>/%<-fPIC%>"
msgstr ""
-#: config/s390/s390.c:15810 config/s390/s390.c:15860 config/s390/s390.c:15877
+#: config/s390/s390.c:15833 config/s390/s390.c:15883 config/s390/s390.c:15900
#, gcc-internal-format, gfc-internal-format
msgid "attribute(target(\"%s\")) is unknown"
msgstr ""
#. Value is not allowed for the target attribute.
-#: config/s390/s390.c:15816
+#: config/s390/s390.c:15839
#, gcc-internal-format
msgid "value %qs is not supported by attribute %<target%>"
msgstr ""
@@ -41972,17 +41994,22 @@ msgid ""
"STABS debugging information for Ada is obsolete and not supported anymore"
msgstr ""
-#: ada/gcc-interface/trans.c:1637
+#: ada/gcc-interface/trans.c:332
+#, gcc-internal-format, gfc-internal-format
+msgid "%s contains too many lines"
+msgstr ""
+
+#: ada/gcc-interface/trans.c:1642
#, gcc-internal-format
msgid "subprogram %q+F not marked %<Inline_Always%>"
msgstr ""
-#: ada/gcc-interface/trans.c:1639 ada/gcc-interface/trans.c:1645
+#: ada/gcc-interface/trans.c:1644 ada/gcc-interface/trans.c:1650
#, gcc-internal-format
msgid "parent subprogram cannot be inlined"
msgstr ""
-#: ada/gcc-interface/trans.c:1643
+#: ada/gcc-interface/trans.c:1648
#, gcc-internal-format
msgid "subprogram %q+F not marked %<Inline%>"
msgstr ""
@@ -42049,8 +42076,8 @@ msgstr ""
msgid "could not read the BRIG file"
msgstr ""
-#: c/c-convert.c:101 c/c-typeck.c:2210 c/c-typeck.c:12707 cp/typeck.c:2146
-#: cp/typeck.c:8603 cp/typeck.c:9394
+#: c/c-convert.c:101 c/c-typeck.c:2260 c/c-typeck.c:12767 cp/typeck.c:2157
+#: cp/typeck.c:8610 cp/typeck.c:9401
#, gcc-internal-format
msgid "void value not ignored as it ought to be"
msgstr ""
@@ -42110,7 +42137,7 @@ msgstr ""
msgid "type of array %q+D completed incompatibly with implicit initialization"
msgstr ""
-#: c/c-decl.c:1596 c/c-decl.c:7353 c/c-decl.c:8261 c/c-decl.c:9068
+#: c/c-decl.c:1596 c/c-decl.c:7352 c/c-decl.c:8260 c/c-decl.c:9067
#, gcc-internal-format
msgid "originally defined here"
msgstr ""
@@ -42340,7 +42367,7 @@ msgstr ""
msgid "declaration of %qD shadows a parameter"
msgstr ""
-#: c/c-decl.c:3041 cp/name-lookup.c:3339
+#: c/c-decl.c:3041 cp/name-lookup.c:3340
#, gcc-internal-format
msgid "declaration of %qD shadows a global declaration"
msgstr ""
@@ -42350,7 +42377,7 @@ msgstr ""
msgid "declaration of %qD shadows a previous local"
msgstr ""
-#: c/c-decl.c:3073 cp/name-lookup.c:3112
+#: c/c-decl.c:3073 cp/name-lookup.c:3113
#, gcc-internal-format
msgid "shadowed declaration is here"
msgstr ""
@@ -42360,219 +42387,219 @@ msgstr ""
msgid "nested extern declaration of %qD"
msgstr ""
-#: c/c-decl.c:3367 c/c-decl.c:3381
+#: c/c-decl.c:3366 c/c-decl.c:3380
#, gcc-internal-format
msgid "implicit declaration of function %qE; did you mean %qs?"
msgstr ""
-#: c/c-decl.c:3373 c/c-decl.c:3386
+#: c/c-decl.c:3372 c/c-decl.c:3385
#, gcc-internal-format
msgid "implicit declaration of function %qE"
msgstr ""
-#: c/c-decl.c:3405
+#: c/c-decl.c:3404
#, gcc-internal-format
msgid "include %qs or provide a declaration of %qE"
msgstr ""
-#: c/c-decl.c:3675
+#: c/c-decl.c:3674
#, gcc-internal-format
msgid "incompatible implicit declaration of built-in function %qD"
msgstr ""
-#: c/c-decl.c:3685
+#: c/c-decl.c:3684
#, gcc-internal-format
msgid "include %qs or provide a declaration of %qD"
msgstr ""
-#: c/c-decl.c:3696
+#: c/c-decl.c:3695
#, gcc-internal-format
msgid "incompatible implicit declaration of function %qD"
msgstr ""
-#: c/c-decl.c:3757
+#: c/c-decl.c:3756
#, gcc-internal-format
msgid "%qE undeclared here (not in a function); did you mean %qs?"
msgstr ""
-#: c/c-decl.c:3762
+#: c/c-decl.c:3761
#, gcc-internal-format
msgid "%qE undeclared here (not in a function)"
msgstr ""
-#: c/c-decl.c:3775
+#: c/c-decl.c:3774
#, gcc-internal-format
msgid "%qE undeclared (first use in this function); did you mean %qs?"
msgstr ""
-#: c/c-decl.c:3780
+#: c/c-decl.c:3779
#, gcc-internal-format
msgid "%qE undeclared (first use in this function)"
msgstr ""
-#: c/c-decl.c:3784
+#: c/c-decl.c:3783
#, gcc-internal-format
msgid ""
"each undeclared identifier is reported only once for each function it "
"appears in"
msgstr ""
-#: c/c-decl.c:3832 cp/decl.c:3281
+#: c/c-decl.c:3831 cp/decl.c:3263
#, gcc-internal-format
msgid "label %qE referenced outside of any function"
msgstr ""
-#: c/c-decl.c:3868
+#: c/c-decl.c:3867
#, gcc-internal-format
msgid "jump into scope of identifier with variably modified type"
msgstr ""
-#: c/c-decl.c:3871
+#: c/c-decl.c:3870
#, gcc-internal-format
msgid "jump skips variable initialization"
msgstr ""
-#: c/c-decl.c:3872 c/c-decl.c:3927 c/c-decl.c:4017
+#: c/c-decl.c:3871 c/c-decl.c:3926 c/c-decl.c:4016
#, gcc-internal-format
msgid "label %qD defined here"
msgstr ""
-#: c/c-decl.c:3926 c/c-decl.c:4016
+#: c/c-decl.c:3925 c/c-decl.c:4015
#, gcc-internal-format
msgid "jump into statement expression"
msgstr ""
-#: c/c-decl.c:3949
+#: c/c-decl.c:3948
#, gcc-internal-format
msgid "duplicate label declaration %qE"
msgstr ""
-#: c/c-decl.c:4048 cp/decl.c:3687
+#: c/c-decl.c:4047 cp/decl.c:3669
#, gcc-internal-format
msgid "duplicate label %qD"
msgstr ""
-#: c/c-decl.c:4079
+#: c/c-decl.c:4078
#, gcc-internal-format
msgid ""
"traditional C lacks a separate namespace for labels, identifier %qE conflicts"
msgstr ""
-#: c/c-decl.c:4144
+#: c/c-decl.c:4143
#, gcc-internal-format
msgid "switch jumps over variable initialization"
msgstr ""
-#: c/c-decl.c:4145 c/c-decl.c:4156
+#: c/c-decl.c:4144 c/c-decl.c:4155
#, gcc-internal-format
msgid "switch starts here"
msgstr ""
-#: c/c-decl.c:4155
+#: c/c-decl.c:4154
#, gcc-internal-format
msgid "switch jumps into statement expression"
msgstr ""
-#: c/c-decl.c:4238
+#: c/c-decl.c:4237
#, gcc-internal-format
msgid "%qE defined as wrong kind of tag"
msgstr ""
-#: c/c-decl.c:4424 cp/tree.c:4728
+#: c/c-decl.c:4423 cp/tree.c:4789
#, gcc-internal-format
msgid "%qE attribute applied to %qD with void return type"
msgstr ""
-#: c/c-decl.c:4433
+#: c/c-decl.c:4432
#, gcc-internal-format
msgid ""
"%qE attribute can only be applied to functions or to structure, union or "
"enumeration types"
msgstr ""
-#: c/c-decl.c:4698
+#: c/c-decl.c:4697
#, gcc-internal-format
msgid "unnamed struct/union that defines no instances"
msgstr ""
-#: c/c-decl.c:4709
+#: c/c-decl.c:4708
#, gcc-internal-format
msgid "empty declaration with storage class specifier does not redeclare tag"
msgstr ""
-#: c/c-decl.c:4725
+#: c/c-decl.c:4724
#, gcc-internal-format
msgid "empty declaration with type qualifier does not redeclare tag"
msgstr ""
-#: c/c-decl.c:4737
+#: c/c-decl.c:4736
#, gcc-internal-format
msgid "empty declaration with %<_Alignas%> does not redeclare tag"
msgstr ""
-#: c/c-decl.c:4759 c/c-decl.c:4767
+#: c/c-decl.c:4758 c/c-decl.c:4766
#, gcc-internal-format
msgid "useless type name in empty declaration"
msgstr ""
-#: c/c-decl.c:4775
+#: c/c-decl.c:4774
#, gcc-internal-format
msgid "%<inline%> in empty declaration"
msgstr ""
-#: c/c-decl.c:4781
+#: c/c-decl.c:4780
#, gcc-internal-format
msgid "%<_Noreturn%> in empty declaration"
msgstr ""
-#: c/c-decl.c:4787
+#: c/c-decl.c:4786
#, gcc-internal-format
msgid "%<auto%> in file-scope empty declaration"
msgstr ""
-#: c/c-decl.c:4793
+#: c/c-decl.c:4792
#, gcc-internal-format
msgid "%<register%> in file-scope empty declaration"
msgstr ""
-#: c/c-decl.c:4800
+#: c/c-decl.c:4799
#, gcc-internal-format
msgid "useless storage class specifier in empty declaration"
msgstr ""
-#: c/c-decl.c:4806
+#: c/c-decl.c:4805
#, gcc-internal-format
msgid "useless %qs in empty declaration"
msgstr ""
-#: c/c-decl.c:4819
+#: c/c-decl.c:4818
#, gcc-internal-format
msgid "useless type qualifier in empty declaration"
msgstr ""
-#: c/c-decl.c:4826
+#: c/c-decl.c:4825
#, gcc-internal-format
msgid "useless %<_Alignas%> in empty declaration"
msgstr ""
-#: c/c-decl.c:4844
+#: c/c-decl.c:4843
#, gcc-internal-format
msgid "invalid use of attributes in empty declaration"
msgstr ""
-#: c/c-decl.c:4858 c/c-parser.c:2033
+#: c/c-decl.c:4857 c/c-parser.c:2033
#, gcc-internal-format
msgid "empty declaration"
msgstr ""
-#: c/c-decl.c:4929
+#: c/c-decl.c:4928
#, gcc-internal-format
msgid ""
"ISO C90 does not support %<static%> or type qualifiers in parameter array "
"declarators"
msgstr ""
-#: c/c-decl.c:4933
+#: c/c-decl.c:4932
#, gcc-internal-format
msgid "ISO C90 does not support %<[*]%> array declarators"
msgstr ""
@@ -42580,28 +42607,28 @@ 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.c:4939 c/c-decl.c:7820 c/c-decl.c:9738
+#: c/c-decl.c:4938 c/c-decl.c:7819 c/c-decl.c:9737
#, gcc-internal-format
msgid "%<[*]%> not allowed in other than function prototype scope"
msgstr ""
-#: c/c-decl.c:5104
+#: c/c-decl.c:5103
#, gcc-internal-format
msgid "%q+D is usually a function"
msgstr ""
-#: c/c-decl.c:5113
+#: c/c-decl.c:5112
#, gcc-internal-format
msgid "typedef %qD is initialized (use %<__typeof__%> instead)"
msgstr ""
-#: c/c-decl.c:5118
+#: c/c-decl.c:5117
#, 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.c:5124
+#: c/c-decl.c:5123
#, gcc-internal-format
msgid "parameter %qD is initialized"
msgstr ""
@@ -42610,267 +42637,267 @@ msgstr ""
#. of VLAs themselves count as VLAs, it does not make
#. sense to permit them to be initialized given that
#. ordinary VLAs may not be initialized.
-#: c/c-decl.c:5143 c/c-decl.c:5158 c/c-typeck.c:8153
+#: c/c-decl.c:5142 c/c-decl.c:5157 c/c-typeck.c:8213
#, gcc-internal-format
msgid "variable-sized object may not be initialized"
msgstr ""
-#: c/c-decl.c:5149
+#: c/c-decl.c:5148
#, gcc-internal-format
msgid "variable %qD has initializer but incomplete type"
msgstr ""
-#: c/c-decl.c:5238
+#: c/c-decl.c:5237
#, gcc-internal-format
msgid "inline function %q+D given attribute %qs"
msgstr ""
-#: c/c-decl.c:5288
+#: c/c-decl.c:5287
#, gcc-internal-format
msgid "uninitialized const member in %qT is invalid in C++"
msgstr ""
-#: c/c-decl.c:5290
+#: c/c-decl.c:5289
#, gcc-internal-format
msgid "%qD should be initialized"
msgstr ""
-#: c/c-decl.c:5371
+#: c/c-decl.c:5370
#, gcc-internal-format
msgid "initializer fails to determine size of %q+D"
msgstr ""
-#: c/c-decl.c:5376
+#: c/c-decl.c:5375
#, gcc-internal-format
msgid "array size missing in %q+D"
msgstr ""
-#: c/c-decl.c:5380
+#: c/c-decl.c:5379
#, gcc-internal-format
msgid "zero or negative size array %q+D"
msgstr ""
-#: c/c-decl.c:5469
+#: c/c-decl.c:5468
#, gcc-internal-format
msgid "storage size of %q+D isn%'t constant"
msgstr ""
-#: c/c-decl.c:5519
+#: c/c-decl.c:5518
#, gcc-internal-format
msgid "ignoring %<asm%> specifier for non-static local variable %q+D"
msgstr ""
-#: c/c-decl.c:5557
+#: c/c-decl.c:5556
#, gcc-internal-format
msgid "cannot put object with volatile field into register"
msgstr ""
-#: c/c-decl.c:5643
+#: c/c-decl.c:5642
#, gcc-internal-format
msgid "uninitialized %<const %D%> is invalid in C++"
msgstr ""
-#: c/c-decl.c:5658 cp/decl.c:8192
+#: c/c-decl.c:5657 cp/decl.c:8198
#, gcc-internal-format
msgid "%q+D in declare target directive does not have mappable type"
msgstr ""
-#: c/c-decl.c:5915
+#: c/c-decl.c:5914
#, gcc-internal-format
msgid "ISO C forbids forward parameter declarations"
msgstr ""
-#: c/c-decl.c:6026
+#: c/c-decl.c:6025
#, gcc-internal-format
msgid "defining a type in a compound literal is invalid in C++"
msgstr ""
-#: c/c-decl.c:6047 c/c-decl.c:6062
+#: c/c-decl.c:6046 c/c-decl.c:6061
#, gcc-internal-format
msgid "bit-field %qs width not an integer constant"
msgstr ""
-#: c/c-decl.c:6057
+#: c/c-decl.c:6056
#, gcc-internal-format
msgid "bit-field %qs width not an integer constant expression"
msgstr ""
-#: c/c-decl.c:6068
+#: c/c-decl.c:6067
#, gcc-internal-format
msgid "negative width in bit-field %qs"
msgstr ""
-#: c/c-decl.c:6073
+#: c/c-decl.c:6072
#, gcc-internal-format
msgid "zero width for bit-field %qs"
msgstr ""
-#: c/c-decl.c:6083
+#: c/c-decl.c:6082
#, gcc-internal-format
msgid "bit-field %qs has invalid type"
msgstr ""
-#: c/c-decl.c:6089
+#: c/c-decl.c:6088
#, gcc-internal-format
msgid "cannot declare bit-field %qs with %<warn_if_not_aligned%> type"
msgstr ""
-#: c/c-decl.c:6100
+#: c/c-decl.c:6099
#, gcc-internal-format
msgid "type of bit-field %qs is a GCC extension"
msgstr ""
-#: c/c-decl.c:6106
+#: c/c-decl.c:6105
#, gcc-internal-format
msgid "width of %qs exceeds its type"
msgstr ""
-#: c/c-decl.c:6119
+#: c/c-decl.c:6118
#, gcc-internal-format
msgid "%qs is narrower than values of its type"
msgstr ""
-#: c/c-decl.c:6134
+#: c/c-decl.c:6133
#, gcc-internal-format
msgid "ISO C90 forbids array %qE whose size cannot be evaluated"
msgstr ""
-#: c/c-decl.c:6137
+#: c/c-decl.c:6136
#, gcc-internal-format
msgid "ISO C90 forbids array whose size cannot be evaluated"
msgstr ""
-#: c/c-decl.c:6144
+#: c/c-decl.c:6143
#, gcc-internal-format
msgid "ISO C90 forbids variable length array %qE"
msgstr ""
-#: c/c-decl.c:6146
+#: c/c-decl.c:6145
#, gcc-internal-format
msgid "ISO C90 forbids variable length array"
msgstr ""
-#: c/c-decl.c:6357 c/c-decl.c:6753 c/c-decl.c:6763
+#: c/c-decl.c:6356 c/c-decl.c:6752 c/c-decl.c:6762
#, gcc-internal-format
msgid "variably modified %qE at file scope"
msgstr ""
-#: c/c-decl.c:6359
+#: c/c-decl.c:6358
#, gcc-internal-format
msgid "variably modified field at file scope"
msgstr ""
-#: c/c-decl.c:6379
+#: c/c-decl.c:6378
#, gcc-internal-format
msgid "type defaults to %<int%> in declaration of %qE"
msgstr ""
-#: c/c-decl.c:6383
+#: c/c-decl.c:6382
#, gcc-internal-format
msgid "type defaults to %<int%> in type name"
msgstr ""
-#: c/c-decl.c:6415
+#: c/c-decl.c:6414
#, gcc-internal-format
msgid "duplicate %<const%>"
msgstr ""
-#: c/c-decl.c:6417
+#: c/c-decl.c:6416
#, gcc-internal-format
msgid "duplicate %<restrict%>"
msgstr ""
-#: c/c-decl.c:6419
+#: c/c-decl.c:6418
#, gcc-internal-format
msgid "duplicate %<volatile%>"
msgstr ""
-#: c/c-decl.c:6421
+#: c/c-decl.c:6420
#, gcc-internal-format
msgid "duplicate %<_Atomic%>"
msgstr ""
-#: c/c-decl.c:6424
+#: c/c-decl.c:6423
#, gcc-internal-format, gfc-internal-format
msgid "conflicting named address spaces (%s vs %s)"
msgstr ""
-#: c/c-decl.c:6447 c/c-parser.c:3048
+#: c/c-decl.c:6446 c/c-parser.c:3048
#, gcc-internal-format
msgid "%<_Atomic%>-qualified array type"
msgstr ""
-#: c/c-decl.c:6461
+#: c/c-decl.c:6460
#, gcc-internal-format
msgid "function definition declared %<auto%>"
msgstr ""
-#: c/c-decl.c:6463
+#: c/c-decl.c:6462
#, gcc-internal-format
msgid "function definition declared %<register%>"
msgstr ""
-#: c/c-decl.c:6465
+#: c/c-decl.c:6464
#, gcc-internal-format
msgid "function definition declared %<typedef%>"
msgstr ""
-#: c/c-decl.c:6467
+#: c/c-decl.c:6466
#, gcc-internal-format
msgid "function definition declared %qs"
msgstr ""
-#: c/c-decl.c:6485
+#: c/c-decl.c:6484
#, gcc-internal-format
msgid "storage class specified for structure field %qE"
msgstr ""
-#: c/c-decl.c:6488
+#: c/c-decl.c:6487
#, gcc-internal-format
msgid "storage class specified for structure field"
msgstr ""
-#: c/c-decl.c:6492
+#: c/c-decl.c:6491
#, gcc-internal-format
msgid "storage class specified for parameter %qE"
msgstr ""
-#: c/c-decl.c:6495
+#: c/c-decl.c:6494
#, gcc-internal-format
msgid "storage class specified for unnamed parameter"
msgstr ""
-#: c/c-decl.c:6498 cp/decl.c:12158
+#: c/c-decl.c:6497 cp/decl.c:12176
#, gcc-internal-format
msgid "storage class specified for typename"
msgstr ""
-#: c/c-decl.c:6515
+#: c/c-decl.c:6514
#, gcc-internal-format
msgid "%qE initialized and declared %<extern%>"
msgstr ""
-#: c/c-decl.c:6519
+#: c/c-decl.c:6518
#, gcc-internal-format
msgid "%qE has both %<extern%> and initializer"
msgstr ""
-#: c/c-decl.c:6524
+#: c/c-decl.c:6523
#, gcc-internal-format
msgid "file-scope declaration of %qE specifies %<auto%>"
msgstr ""
-#: c/c-decl.c:6528
+#: c/c-decl.c:6527
#, gcc-internal-format
msgid "file-scope declaration of %qE specifies %<register%>"
msgstr ""
-#: c/c-decl.c:6533
+#: c/c-decl.c:6532
#, gcc-internal-format
msgid "nested function %qE declared %<extern%>"
msgstr ""
-#: c/c-decl.c:6536
+#: c/c-decl.c:6535
#, gcc-internal-format
msgid "function-scope %qE implicitly auto and declared %qs"
msgstr ""
@@ -42878,721 +42905,721 @@ 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.c:6583 c/c-decl.c:6977
+#: c/c-decl.c:6582 c/c-decl.c:6976
#, gcc-internal-format
msgid "static or type qualifiers in non-parameter array declarator"
msgstr ""
-#: c/c-decl.c:6644
+#: c/c-decl.c:6643
#, gcc-internal-format
msgid "declaration of %qE as array of voids"
msgstr ""
-#: c/c-decl.c:6646
+#: c/c-decl.c:6645
#, gcc-internal-format
msgid "declaration of type name as array of voids"
msgstr ""
-#: c/c-decl.c:6653
+#: c/c-decl.c:6652
#, gcc-internal-format
msgid "declaration of %qE as array of functions"
msgstr ""
-#: c/c-decl.c:6656
+#: c/c-decl.c:6655
#, gcc-internal-format
msgid "declaration of type name as array of functions"
msgstr ""
-#: c/c-decl.c:6664 c/c-decl.c:8792
+#: c/c-decl.c:6663 c/c-decl.c:8791
#, gcc-internal-format
msgid "invalid use of structure with flexible array member"
msgstr ""
-#: c/c-decl.c:6696
+#: c/c-decl.c:6695
#, gcc-internal-format
msgid "size of array %qE has non-integer type"
msgstr ""
-#: c/c-decl.c:6700
+#: c/c-decl.c:6699
#, gcc-internal-format
msgid "size of unnamed array has non-integer type"
msgstr ""
-#: c/c-decl.c:6708
+#: c/c-decl.c:6707
#, gcc-internal-format
msgid "size of array %qE has incomplete type"
msgstr ""
-#: c/c-decl.c:6711
+#: c/c-decl.c:6710
#, gcc-internal-format
msgid "size of unnamed array has incomplete type"
msgstr ""
-#: c/c-decl.c:6723
+#: c/c-decl.c:6722
#, gcc-internal-format
msgid "ISO C forbids zero-size array %qE"
msgstr ""
-#: c/c-decl.c:6726
+#: c/c-decl.c:6725
#, gcc-internal-format
msgid "ISO C forbids zero-size array"
msgstr ""
-#: c/c-decl.c:6735
+#: c/c-decl.c:6734
#, gcc-internal-format
msgid "size of array %qE is negative"
msgstr ""
-#: c/c-decl.c:6737
+#: c/c-decl.c:6736
#, gcc-internal-format
msgid "size of unnamed array is negative"
msgstr ""
-#: c/c-decl.c:6823
+#: c/c-decl.c:6822
#, gcc-internal-format
msgid "size of array %qE is too large"
msgstr ""
-#: c/c-decl.c:6826
+#: c/c-decl.c:6825
#, gcc-internal-format
msgid "size of unnamed array is too large"
msgstr ""
-#: c/c-decl.c:6865 c/c-decl.c:7523
+#: c/c-decl.c:6864 c/c-decl.c:7522
#, gcc-internal-format
msgid "ISO C90 does not support flexible array members"
msgstr ""
#. C99 6.7.5.2p4
-#: c/c-decl.c:6887
+#: c/c-decl.c:6886
#, gcc-internal-format
msgid "%<[*]%> not in a declaration"
msgstr ""
-#: c/c-decl.c:6900
+#: c/c-decl.c:6899
#, gcc-internal-format
msgid "array type has incomplete element type %qT"
msgstr ""
-#: c/c-decl.c:6906
+#: c/c-decl.c:6905
#, gcc-internal-format
msgid ""
"declaration of %qE as multidimensional array must have bounds for all "
"dimensions except the first"
msgstr ""
-#: c/c-decl.c:6910
+#: c/c-decl.c:6909
#, gcc-internal-format
msgid ""
"declaration of multidimensional array must have bounds for all dimensions "
"except the first"
msgstr ""
-#: c/c-decl.c:7013
+#: c/c-decl.c:7012
#, gcc-internal-format
msgid "%qE declared as function returning a function"
msgstr ""
-#: c/c-decl.c:7016
+#: c/c-decl.c:7015
#, gcc-internal-format
msgid "type name declared as function returning a function"
msgstr ""
-#: c/c-decl.c:7023
+#: c/c-decl.c:7022
#, gcc-internal-format
msgid "%qE declared as function returning an array"
msgstr ""
-#: c/c-decl.c:7026
+#: c/c-decl.c:7025
#, gcc-internal-format
msgid "type name declared as function returning an array"
msgstr ""
-#: c/c-decl.c:7067
+#: c/c-decl.c:7066
#, gcc-internal-format
msgid "function definition has qualified void return type"
msgstr ""
-#: c/c-decl.c:7071 cp/decl.c:12458
+#: c/c-decl.c:7070 cp/decl.c:12476
#, gcc-internal-format
msgid "type qualifiers ignored on function return type"
msgstr ""
-#: c/c-decl.c:7109 c/c-decl.c:7319 c/c-decl.c:7373 c/c-decl.c:7457
-#: c/c-decl.c:7582 c/c-parser.c:3050
+#: c/c-decl.c:7108 c/c-decl.c:7318 c/c-decl.c:7372 c/c-decl.c:7456
+#: c/c-decl.c:7581 c/c-parser.c:3050
#, gcc-internal-format
msgid "%<_Atomic%>-qualified function type"
msgstr ""
-#: c/c-decl.c:7115 c/c-decl.c:7325 c/c-decl.c:7462 c/c-decl.c:7587
+#: c/c-decl.c:7114 c/c-decl.c:7324 c/c-decl.c:7461 c/c-decl.c:7586
#, gcc-internal-format
msgid "ISO C forbids qualified function types"
msgstr ""
-#: c/c-decl.c:7210
+#: c/c-decl.c:7209
#, gcc-internal-format
msgid "%qs combined with %<auto%> qualifier for %qE"
msgstr ""
-#: c/c-decl.c:7214
+#: c/c-decl.c:7213
#, gcc-internal-format
msgid "%qs combined with %<register%> qualifier for %qE"
msgstr ""
-#: c/c-decl.c:7220
+#: c/c-decl.c:7219
#, gcc-internal-format
msgid "%qs specified for auto variable %qE"
msgstr ""
-#: c/c-decl.c:7236
+#: c/c-decl.c:7235
#, gcc-internal-format
msgid "%qs specified for parameter %qE"
msgstr ""
-#: c/c-decl.c:7239
+#: c/c-decl.c:7238
#, gcc-internal-format
msgid "%qs specified for unnamed parameter"
msgstr ""
-#: c/c-decl.c:7245
+#: c/c-decl.c:7244
#, gcc-internal-format
msgid "%qs specified for structure field %qE"
msgstr ""
-#: c/c-decl.c:7248
+#: c/c-decl.c:7247
#, gcc-internal-format
msgid "%qs specified for structure field"
msgstr ""
-#: c/c-decl.c:7263
+#: c/c-decl.c:7262
#, gcc-internal-format
msgid "bit-field %qE has atomic type"
msgstr ""
-#: c/c-decl.c:7265
+#: c/c-decl.c:7264
#, gcc-internal-format
msgid "bit-field has atomic type"
msgstr ""
-#: c/c-decl.c:7274
+#: c/c-decl.c:7273
#, gcc-internal-format
msgid "alignment specified for typedef %qE"
msgstr ""
-#: c/c-decl.c:7276
+#: c/c-decl.c:7275
#, gcc-internal-format
msgid "alignment specified for %<register%> object %qE"
msgstr ""
-#: c/c-decl.c:7281
+#: c/c-decl.c:7280
#, gcc-internal-format
msgid "alignment specified for parameter %qE"
msgstr ""
-#: c/c-decl.c:7283
+#: c/c-decl.c:7282
#, gcc-internal-format
msgid "alignment specified for unnamed parameter"
msgstr ""
-#: c/c-decl.c:7288
+#: c/c-decl.c:7287
#, gcc-internal-format
msgid "alignment specified for bit-field %qE"
msgstr ""
-#: c/c-decl.c:7290
+#: c/c-decl.c:7289
#, gcc-internal-format
msgid "alignment specified for unnamed bit-field"
msgstr ""
-#: c/c-decl.c:7293
+#: c/c-decl.c:7292
#, gcc-internal-format
msgid "alignment specified for function %qE"
msgstr ""
-#: c/c-decl.c:7300
+#: c/c-decl.c:7299
#, gcc-internal-format
msgid "%<_Alignas%> specifiers cannot reduce alignment of %qE"
msgstr ""
-#: c/c-decl.c:7303
+#: c/c-decl.c:7302
#, gcc-internal-format
msgid "%<_Alignas%> specifiers cannot reduce alignment of unnamed field"
msgstr ""
-#: c/c-decl.c:7334
+#: c/c-decl.c:7333
#, gcc-internal-format
msgid "typedef %q+D declared %<inline%>"
msgstr ""
-#: c/c-decl.c:7336
+#: c/c-decl.c:7335
#, gcc-internal-format
msgid "typedef %q+D declared %<_Noreturn%>"
msgstr ""
-#: c/c-decl.c:7379
+#: c/c-decl.c:7378
#, gcc-internal-format
msgid "ISO C forbids const or volatile function types"
msgstr ""
#. C99 6.7.2.1p8
-#: c/c-decl.c:7390
+#: c/c-decl.c:7389
#, gcc-internal-format
msgid "a member of a structure or union cannot have a variably modified type"
msgstr ""
-#: c/c-decl.c:7407 cp/decl.c:11090
+#: c/c-decl.c:7406 cp/decl.c:11108
#, gcc-internal-format
msgid "variable or field %qE declared void"
msgstr ""
-#: c/c-decl.c:7447
+#: c/c-decl.c:7446
#, gcc-internal-format
msgid "attributes in parameter array declarator ignored"
msgstr ""
-#: c/c-decl.c:7489
+#: c/c-decl.c:7488
#, gcc-internal-format
msgid "parameter %q+D declared %<inline%>"
msgstr ""
-#: c/c-decl.c:7491
+#: c/c-decl.c:7490
#, gcc-internal-format
msgid "parameter %q+D declared %<_Noreturn%>"
msgstr ""
-#: c/c-decl.c:7504
+#: c/c-decl.c:7503
#, gcc-internal-format
msgid "field %qE declared as a function"
msgstr ""
-#: c/c-decl.c:7511
+#: c/c-decl.c:7510
#, gcc-internal-format
msgid "field %qE has incomplete type"
msgstr ""
-#: c/c-decl.c:7513
+#: c/c-decl.c:7512
#, gcc-internal-format
msgid "unnamed field has incomplete type"
msgstr ""
-#: c/c-decl.c:7553 c/c-decl.c:7564 c/c-decl.c:7567
+#: c/c-decl.c:7552 c/c-decl.c:7563 c/c-decl.c:7566
#, gcc-internal-format
msgid "invalid storage class for function %qE"
msgstr ""
-#: c/c-decl.c:7624
+#: c/c-decl.c:7623
#, gcc-internal-format
msgid "cannot inline function %<main%>"
msgstr ""
-#: c/c-decl.c:7626
+#: c/c-decl.c:7625
#, gcc-internal-format
msgid "%<main%> declared %<_Noreturn%>"
msgstr ""
-#: c/c-decl.c:7637
+#: c/c-decl.c:7636
#, gcc-internal-format
msgid "ISO C99 does not support %<_Noreturn%>"
msgstr ""
-#: c/c-decl.c:7640
+#: c/c-decl.c:7639
#, gcc-internal-format
msgid "ISO C90 does not support %<_Noreturn%>"
msgstr ""
-#: c/c-decl.c:7669
+#: c/c-decl.c:7668
#, gcc-internal-format
msgid "variable previously declared %<static%> redeclared %<extern%>"
msgstr ""
-#: c/c-decl.c:7679
+#: c/c-decl.c:7678
#, gcc-internal-format
msgid "variable %q+D declared %<inline%>"
msgstr ""
-#: c/c-decl.c:7681
+#: c/c-decl.c:7680
#, gcc-internal-format
msgid "variable %q+D declared %<_Noreturn%>"
msgstr ""
-#: c/c-decl.c:7716
+#: c/c-decl.c:7715
#, gcc-internal-format
msgid "non-nested function with variably modified type"
msgstr ""
-#: c/c-decl.c:7718
+#: c/c-decl.c:7717
#, gcc-internal-format
msgid "object with variably modified type must have no linkage"
msgstr ""
-#: c/c-decl.c:7826 c/c-decl.c:9546
+#: c/c-decl.c:7825 c/c-decl.c:9545
#, gcc-internal-format
msgid "function declaration isn%'t a prototype"
msgstr ""
-#: c/c-decl.c:7836
+#: c/c-decl.c:7835
#, gcc-internal-format
msgid "parameter names (without types) in function declaration"
msgstr ""
-#: c/c-decl.c:7881
+#: c/c-decl.c:7880
#, gcc-internal-format
msgid "parameter %u (%q+D) has incomplete type"
msgstr ""
-#: c/c-decl.c:7885
+#: c/c-decl.c:7884
#, gcc-internal-format, gfc-internal-format
msgid "parameter %u has incomplete type"
msgstr ""
-#: c/c-decl.c:7896
+#: c/c-decl.c:7895
#, gcc-internal-format
msgid "parameter %u (%q+D) has void type"
msgstr ""
-#: c/c-decl.c:7900
+#: c/c-decl.c:7899
#, gcc-internal-format, gfc-internal-format
msgid "parameter %u has void type"
msgstr ""
-#: c/c-decl.c:7974
+#: c/c-decl.c:7973
#, gcc-internal-format
msgid "%<void%> as only parameter may not be qualified"
msgstr ""
-#: c/c-decl.c:7978 c/c-decl.c:8014
+#: c/c-decl.c:7977 c/c-decl.c:8013
#, gcc-internal-format
msgid "%<void%> must be the only parameter"
msgstr ""
-#: c/c-decl.c:8008
+#: c/c-decl.c:8007
#, gcc-internal-format
msgid "parameter %q+D has just a forward declaration"
msgstr ""
-#: c/c-decl.c:8054
+#: c/c-decl.c:8053
#, gcc-internal-format
msgid ""
"%<%s %E%> declared inside parameter list will not be visible outside of this "
"definition or declaration"
msgstr ""
-#: c/c-decl.c:8060
+#: c/c-decl.c:8059
#, 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.c:8168
+#: c/c-decl.c:8167
#, gcc-internal-format
msgid "enum type defined here"
msgstr ""
-#: c/c-decl.c:8174
+#: c/c-decl.c:8173
#, gcc-internal-format
msgid "struct defined here"
msgstr ""
-#: c/c-decl.c:8180
+#: c/c-decl.c:8179
#, gcc-internal-format
msgid "union defined here"
msgstr ""
-#: c/c-decl.c:8257
+#: c/c-decl.c:8256
#, gcc-internal-format
msgid "redefinition of %<union %E%>"
msgstr ""
-#: c/c-decl.c:8259
+#: c/c-decl.c:8258
#, gcc-internal-format
msgid "redefinition of %<struct %E%>"
msgstr ""
-#: c/c-decl.c:8268
+#: c/c-decl.c:8267
#, gcc-internal-format
msgid "nested redefinition of %<union %E%>"
msgstr ""
-#: c/c-decl.c:8270
+#: c/c-decl.c:8269
#, gcc-internal-format
msgid "nested redefinition of %<struct %E%>"
msgstr ""
-#: c/c-decl.c:8300 c/c-decl.c:9087
+#: c/c-decl.c:8299 c/c-decl.c:9086
#, gcc-internal-format
msgid "defining type in %qs expression is invalid in C++"
msgstr ""
-#: c/c-decl.c:8367 cp/decl.c:5143
+#: c/c-decl.c:8366 cp/decl.c:5139
#, gcc-internal-format
msgid "declaration does not declare anything"
msgstr ""
-#: c/c-decl.c:8372
+#: c/c-decl.c:8371
#, gcc-internal-format
msgid "ISO C99 doesn%'t support unnamed structs/unions"
msgstr ""
-#: c/c-decl.c:8375
+#: c/c-decl.c:8374
#, gcc-internal-format
msgid "ISO C90 doesn%'t support unnamed structs/unions"
msgstr ""
-#: c/c-decl.c:8468 c/c-decl.c:8486 c/c-decl.c:8547
+#: c/c-decl.c:8467 c/c-decl.c:8485 c/c-decl.c:8546
#, gcc-internal-format
msgid "duplicate member %q+D"
msgstr ""
-#: c/c-decl.c:8573
+#: c/c-decl.c:8572
#, gcc-internal-format
msgid "empty struct has size 0 in C, size 1 in C++"
msgstr ""
-#: c/c-decl.c:8576
+#: c/c-decl.c:8575
#, gcc-internal-format
msgid "empty union has size 0 in C, size 1 in C++"
msgstr ""
-#: c/c-decl.c:8701
+#: c/c-decl.c:8700
#, gcc-internal-format
msgid "union has no named members"
msgstr ""
-#: c/c-decl.c:8703
+#: c/c-decl.c:8702
#, gcc-internal-format
msgid "union has no members"
msgstr ""
-#: c/c-decl.c:8708
+#: c/c-decl.c:8707
#, gcc-internal-format
msgid "struct has no named members"
msgstr ""
-#: c/c-decl.c:8710
+#: c/c-decl.c:8709
#, gcc-internal-format
msgid "struct has no members"
msgstr ""
-#: c/c-decl.c:8771 cp/decl.c:13430
+#: c/c-decl.c:8770 cp/decl.c:13448
#, gcc-internal-format
msgid "flexible array member in union"
msgstr ""
-#: c/c-decl.c:8777
+#: c/c-decl.c:8776
#, gcc-internal-format
msgid "flexible array member not at end of struct"
msgstr ""
-#: c/c-decl.c:8783
+#: c/c-decl.c:8782
#, gcc-internal-format
msgid "flexible array member in a struct with no named members"
msgstr ""
-#: c/c-decl.c:8814
+#: c/c-decl.c:8813
#, gcc-internal-format
msgid "type %qT is too large"
msgstr ""
-#: c/c-decl.c:8919
+#: c/c-decl.c:8918
#, gcc-internal-format
msgid "union cannot be made transparent"
msgstr ""
-#: c/c-decl.c:9059
+#: c/c-decl.c:9058
#, gcc-internal-format
msgid "nested redefinition of %<enum %E%>"
msgstr ""
#. This enum is a named one that has been declared already.
-#: c/c-decl.c:9066
+#: c/c-decl.c:9065
#, gcc-internal-format
msgid "redeclaration of %<enum %E%>"
msgstr ""
-#: c/c-decl.c:9145 cp/decl.c:15903
+#: c/c-decl.c:9144 cp/decl.c:15921
#, gcc-internal-format
msgid "specified mode too small for enumerated values"
msgstr ""
-#: c/c-decl.c:9160
+#: c/c-decl.c:9159
#, gcc-internal-format
msgid "enumeration values exceed range of largest integer"
msgstr ""
-#: c/c-decl.c:9280 c/c-decl.c:9296
+#: c/c-decl.c:9279 c/c-decl.c:9295
#, gcc-internal-format
msgid "enumerator value for %qE is not an integer constant"
msgstr ""
-#: c/c-decl.c:9291
+#: c/c-decl.c:9290
#, gcc-internal-format
msgid "enumerator value for %qE is not an integer constant expression"
msgstr ""
-#: c/c-decl.c:9315
+#: c/c-decl.c:9314
#, gcc-internal-format
msgid "overflow in enumeration values"
msgstr ""
-#: c/c-decl.c:9323
+#: c/c-decl.c:9322
#, gcc-internal-format
msgid "ISO C restricts enumerator values to range of %<int%>"
msgstr ""
-#: c/c-decl.c:9440 cp/decl.c:5454 cp/decl.c:16454
+#: c/c-decl.c:9439 cp/decl.c:5450 cp/decl.c:16472
#, gcc-internal-format
msgid "inline function %qD given attribute %qs"
msgstr ""
-#: c/c-decl.c:9458
+#: c/c-decl.c:9457
#, gcc-internal-format
msgid "return type is an incomplete type"
msgstr ""
-#: c/c-decl.c:9469
+#: c/c-decl.c:9468
#, gcc-internal-format
msgid "return type defaults to %<int%>"
msgstr ""
-#: c/c-decl.c:9497
+#: c/c-decl.c:9496
#, gcc-internal-format
msgid "%q+D defined as variadic function without prototype"
msgstr ""
-#: c/c-decl.c:9555
+#: c/c-decl.c:9554
#, gcc-internal-format
msgid "no previous prototype for %qD"
msgstr ""
-#: c/c-decl.c:9564
+#: c/c-decl.c:9563
#, gcc-internal-format
msgid "%qD was used with no prototype before its definition"
msgstr ""
-#: c/c-decl.c:9572 cp/decl.c:16589
+#: c/c-decl.c:9571 cp/decl.c:16607
#, gcc-internal-format
msgid "no previous declaration for %qD"
msgstr ""
-#: c/c-decl.c:9582
+#: c/c-decl.c:9581
#, gcc-internal-format
msgid "%qD was used with no declaration before its definition"
msgstr ""
-#: c/c-decl.c:9601
+#: c/c-decl.c:9600
#, gcc-internal-format
msgid "return type of %qD is not %<int%>"
msgstr ""
-#: c/c-decl.c:9603
+#: c/c-decl.c:9602
#, gcc-internal-format
msgid "%<_Atomic%>-qualified return type of %qD"
msgstr ""
-#: c/c-decl.c:9610
+#: c/c-decl.c:9609
#, gcc-internal-format
msgid "%qD is normally a non-static function"
msgstr ""
-#: c/c-decl.c:9658
+#: c/c-decl.c:9657
#, gcc-internal-format
msgid "old-style parameter declarations in prototyped function definition"
msgstr ""
-#: c/c-decl.c:9673
+#: c/c-decl.c:9672
#, gcc-internal-format
msgid "traditional C rejects ISO C style function definitions"
msgstr ""
-#: c/c-decl.c:9690
+#: c/c-decl.c:9689
#, gcc-internal-format
msgid ""
"ISO C does not support omitting parameter names in function definitions "
"before C2X"
msgstr ""
-#: c/c-decl.c:9730 c/c-decl.c:9734
+#: c/c-decl.c:9729 c/c-decl.c:9733
#, gcc-internal-format
msgid "old-style function definition"
msgstr ""
-#: c/c-decl.c:9747
+#: c/c-decl.c:9746
#, gcc-internal-format
msgid "parameter name missing from parameter list"
msgstr ""
-#: c/c-decl.c:9763
+#: c/c-decl.c:9762
#, gcc-internal-format
msgid "%qD declared as a non-parameter"
msgstr ""
-#: c/c-decl.c:9771
+#: c/c-decl.c:9770
#, gcc-internal-format
msgid "multiple parameters named %qD"
msgstr ""
-#: c/c-decl.c:9780
+#: c/c-decl.c:9779
#, gcc-internal-format
msgid "parameter %qD declared with void type"
msgstr ""
-#: c/c-decl.c:9809 c/c-decl.c:9814
+#: c/c-decl.c:9808 c/c-decl.c:9813
#, gcc-internal-format
msgid "type of %qD defaults to %<int%>"
msgstr ""
-#: c/c-decl.c:9834
+#: c/c-decl.c:9833
#, gcc-internal-format
msgid "parameter %qD has incomplete type"
msgstr ""
-#: c/c-decl.c:9841
+#: c/c-decl.c:9840
#, gcc-internal-format
msgid "declaration for parameter %qD but no such parameter"
msgstr ""
-#: c/c-decl.c:9894
+#: c/c-decl.c:9893
#, gcc-internal-format
msgid "number of arguments doesn%'t match built-in prototype"
msgstr ""
-#: c/c-decl.c:9905
+#: c/c-decl.c:9904
#, gcc-internal-format
msgid "number of arguments doesn%'t match prototype"
msgstr ""
-#: c/c-decl.c:9908 c/c-decl.c:9955 c/c-decl.c:9969
+#: c/c-decl.c:9907 c/c-decl.c:9954 c/c-decl.c:9968
#, gcc-internal-format
msgid "prototype declaration"
msgstr ""
-#: c/c-decl.c:9947
+#: c/c-decl.c:9946
#, gcc-internal-format
msgid "promoted argument %qD doesn%'t match built-in prototype"
msgstr ""
-#: c/c-decl.c:9952
+#: c/c-decl.c:9951
#, gcc-internal-format
msgid "promoted argument %qD doesn%'t match prototype"
msgstr ""
-#: c/c-decl.c:9962
+#: c/c-decl.c:9961
#, gcc-internal-format
msgid "argument %qD doesn%'t match built-in prototype"
msgstr ""
-#: c/c-decl.c:9967
+#: c/c-decl.c:9966
#, gcc-internal-format
msgid "argument %qD doesn%'t match prototype"
msgstr ""
-#: c/c-decl.c:10225 cp/decl.c:17414
+#: c/c-decl.c:10224 cp/decl.c:17432
#, gcc-internal-format
msgid "no return statement in function returning non-void"
msgstr ""
-#: c/c-decl.c:10244 cp/decl.c:17498
+#: c/c-decl.c:10243 cp/decl.c:17516
#, gcc-internal-format
msgid "parameter %qD set but not used"
msgstr ""
@@ -43600,264 +43627,264 @@ msgstr ""
#. If we get here, declarations have been used in a for loop without
#. the C99 for loop scope. This doesn't make much sense, so don't
#. allow it.
-#: c/c-decl.c:10340
+#: c/c-decl.c:10339
#, gcc-internal-format
msgid "%<for%> loop initial declarations are only allowed in C99 or C11 mode"
msgstr ""
-#: c/c-decl.c:10345
+#: c/c-decl.c:10344
#, gcc-internal-format
msgid ""
"use option %<-std=c99%>, %<-std=gnu99%>, %<-std=c11%> or %<-std=gnu11%> to "
"compile your code"
msgstr ""
-#: c/c-decl.c:10352
+#: c/c-decl.c:10351
#, gcc-internal-format
msgid "ISO C90 does not support %<for%> loop initial declarations"
msgstr ""
-#: c/c-decl.c:10384
+#: c/c-decl.c:10383
#, gcc-internal-format
msgid "declaration of static variable %qD in %<for%> loop initial declaration"
msgstr ""
-#: c/c-decl.c:10388
+#: c/c-decl.c:10387
#, gcc-internal-format
msgid ""
"declaration of %<extern%> variable %qD in %<for%> loop initial declaration"
msgstr ""
-#: c/c-decl.c:10395
+#: c/c-decl.c:10394
#, gcc-internal-format
msgid "%<struct %E%> declared in %<for%> loop initial declaration"
msgstr ""
-#: c/c-decl.c:10400
+#: c/c-decl.c:10399
#, gcc-internal-format
msgid "%<union %E%> declared in %<for%> loop initial declaration"
msgstr ""
-#: c/c-decl.c:10404
+#: c/c-decl.c:10403
#, gcc-internal-format
msgid "%<enum %E%> declared in %<for%> loop initial declaration"
msgstr ""
-#: c/c-decl.c:10408
+#: c/c-decl.c:10407
#, gcc-internal-format
msgid "declaration of non-variable %qD in %<for%> loop initial declaration"
msgstr ""
-#: c/c-decl.c:10700
+#: c/c-decl.c:10699
#, gcc-internal-format
msgid "incompatible address space qualifiers %qs and %qs"
msgstr ""
-#: c/c-decl.c:10759 c/c-decl.c:10766
+#: c/c-decl.c:10758 c/c-decl.c:10765
#, gcc-internal-format
msgid "duplicate %qE declaration specifier"
msgstr ""
-#: c/c-decl.c:10794 c/c-decl.c:11178 c/c-decl.c:11573
+#: c/c-decl.c:10793 c/c-decl.c:11177 c/c-decl.c:11572
#, gcc-internal-format
msgid "two or more data types in declaration specifiers"
msgstr ""
-#: c/c-decl.c:10806 cp/parser.c:31446
+#: c/c-decl.c:10805 cp/parser.c:31500
#, gcc-internal-format
msgid "%<long long long%> is too long for GCC"
msgstr ""
-#: c/c-decl.c:10819
+#: c/c-decl.c:10818
#, gcc-internal-format
msgid "ISO C90 does not support %<long long%>"
msgstr ""
-#: c/c-decl.c:11048 c/c-parser.c:9956
+#: c/c-decl.c:11047 c/c-parser.c:9956
#, gcc-internal-format
msgid "ISO C90 does not support complex types"
msgstr ""
-#: c/c-decl.c:11094
+#: c/c-decl.c:11093
#, gcc-internal-format
msgid "ISO C does not support saturating types"
msgstr ""
-#: c/c-decl.c:11165 c/c-decl.c:11731
+#: c/c-decl.c:11164 c/c-decl.c:11730
#, gcc-internal-format
msgid "duplicate %qE"
msgstr ""
-#: c/c-decl.c:11225
+#: c/c-decl.c:11224
#, gcc-internal-format
msgid "ISO C does not support %<__int%d%> types"
msgstr ""
-#: c/c-decl.c:11247
+#: c/c-decl.c:11246
#, gcc-internal-format
msgid "%<__int%d%> is not supported on this target"
msgstr ""
-#: c/c-decl.c:11290
+#: c/c-decl.c:11289
#, gcc-internal-format
msgid "ISO C90 does not support boolean types"
msgstr ""
-#: c/c-decl.c:11409
+#: c/c-decl.c:11408
#, gcc-internal-format
msgid "ISO C does not support the %<_Float%d%s%> type"
msgstr ""
-#: c/c-decl.c:11459
+#: c/c-decl.c:11458
#, gcc-internal-format
msgid "%<_Float%d%s%> is not supported on this target"
msgstr ""
-#: c/c-decl.c:11530
+#: c/c-decl.c:11529
#, gcc-internal-format
msgid "ISO C does not support decimal floating-point before C2X"
msgstr ""
-#: c/c-decl.c:11554 c/c-decl.c:11827 c/c-parser.c:8967
+#: c/c-decl.c:11553 c/c-decl.c:11826 c/c-parser.c:8967
#, gcc-internal-format
msgid "fixed-point types not supported for this target"
msgstr ""
-#: c/c-decl.c:11556
+#: c/c-decl.c:11555
#, gcc-internal-format
msgid "ISO C does not support fixed-point types"
msgstr ""
-#: c/c-decl.c:11591
+#: c/c-decl.c:11590
#, gcc-internal-format
msgid "C++ lookup of %qD would return a field, not a type"
msgstr ""
-#: c/c-decl.c:11604
+#: c/c-decl.c:11603
#, gcc-internal-format
msgid "%qE fails to be a typedef or built in type"
msgstr ""
-#: c/c-decl.c:11653
+#: c/c-decl.c:11652
#, gcc-internal-format
msgid "%qE is not at beginning of declaration"
msgstr ""
-#: c/c-decl.c:11674
+#: c/c-decl.c:11673
#, gcc-internal-format
msgid "%qE used with %<auto%>"
msgstr ""
-#: c/c-decl.c:11676
+#: c/c-decl.c:11675
#, gcc-internal-format
msgid "%qE used with %<register%>"
msgstr ""
-#: c/c-decl.c:11678
+#: c/c-decl.c:11677
#, gcc-internal-format
msgid "%qE used with %<typedef%>"
msgstr ""
-#: c/c-decl.c:11692 c/c-parser.c:8325
+#: c/c-decl.c:11691 c/c-parser.c:8325
#, gcc-internal-format
msgid "ISO C99 does not support %qE"
msgstr ""
-#: c/c-decl.c:11695 c/c-parser.c:8328
+#: c/c-decl.c:11694 c/c-parser.c:8328
#, gcc-internal-format
msgid "ISO C90 does not support %qE"
msgstr ""
-#: c/c-decl.c:11707
+#: c/c-decl.c:11706
#, gcc-internal-format
msgid "%<__thread%> before %<extern%>"
msgstr ""
-#: c/c-decl.c:11716
+#: c/c-decl.c:11715
#, gcc-internal-format
msgid "%<__thread%> before %<static%>"
msgstr ""
-#: c/c-decl.c:11729
+#: c/c-decl.c:11728
#, gcc-internal-format
msgid "duplicate %<_Thread_local%> or %<__thread%>"
msgstr ""
-#: c/c-decl.c:11737
+#: c/c-decl.c:11736
#, gcc-internal-format
msgid "multiple storage classes in declaration specifiers"
msgstr ""
-#: c/c-decl.c:11745
+#: c/c-decl.c:11744
#, gcc-internal-format
msgid "%qs used with %qE"
msgstr ""
-#: c/c-decl.c:11824
+#: c/c-decl.c:11823
#, gcc-internal-format
msgid "%<_Sat%> is used without %<_Fract%> or %<_Accum%>"
msgstr ""
-#: c/c-decl.c:11839
+#: c/c-decl.c:11838
#, gcc-internal-format
msgid "ISO C does not support plain %<complex%> meaning %<double complex%>"
msgstr ""
-#: c/c-decl.c:11866
+#: c/c-decl.c:11865
#, gcc-internal-format
msgid "%<__auto_type%> followed by %<[[]]%> attributes"
msgstr ""
-#: c/c-decl.c:11892 c/c-decl.c:11908 c/c-decl.c:11934
+#: c/c-decl.c:11891 c/c-decl.c:11907 c/c-decl.c:11933
#, gcc-internal-format
msgid "ISO C does not support complex integer types"
msgstr ""
-#: c/c-decl.c:12361 cp/semantics.c:5793
+#: c/c-decl.c:12360 cp/semantics.c:5821
#, 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.c:12365 cp/semantics.c:5797
+#: c/c-decl.c:12364 cp/semantics.c:5825
#, gcc-internal-format
msgid ""
"%<#pragma omp declare reduction%> initializer refers to variable %qD which "
"is not %<omp_priv%> nor %<omp_orig%>"
msgstr ""
-#: c/c-fold.c:387 c/c-typeck.c:11988 cp/typeck.c:5073
+#: c/c-fold.c:387 c/c-typeck.c:12048 cp/typeck.c:5084
#, gcc-internal-format
msgid "left shift of negative value"
msgstr ""
-#: c/c-fold.c:397 c/c-typeck.c:11997 cp/typeck.c:5081
+#: c/c-fold.c:397 c/c-typeck.c:12057 cp/typeck.c:5092
#, gcc-internal-format
msgid "left shift count is negative"
msgstr ""
-#: c/c-fold.c:398 c/c-typeck.c:11926 cp/typeck.c:5021
+#: c/c-fold.c:398 c/c-typeck.c:11986 cp/typeck.c:5032
#, gcc-internal-format
msgid "right shift count is negative"
msgstr ""
-#: c/c-fold.c:406 c/c-typeck.c:12016 cp/typeck.c:5089
+#: c/c-fold.c:406 c/c-typeck.c:12076 cp/typeck.c:5100
#, gcc-internal-format
msgid "left shift count >= width of type"
msgstr ""
-#: c/c-fold.c:407 c/c-typeck.c:11950 cp/typeck.c:5032
+#: c/c-fold.c:407 c/c-typeck.c:12010 cp/typeck.c:5043
#, gcc-internal-format
msgid "right shift count >= width of type"
msgstr ""
-#: c/c-fold.c:414 c/c-typeck.c:12008
+#: c/c-fold.c:414 c/c-typeck.c:12068
#, gcc-internal-format
msgid "left shift count >= width of vector element"
msgstr ""
-#: c/c-fold.c:415 c/c-typeck.c:11937
+#: c/c-fold.c:415 c/c-typeck.c:11997
#, gcc-internal-format
msgid "right shift count >= width of vector element"
msgstr ""
@@ -43877,7 +43904,7 @@ msgstr ""
msgid "to match this %qs"
msgstr ""
-#: c/c-parser.c:1325 cp/parser.c:31680
+#: c/c-parser.c:1325 cp/parser.c:31734
#, gcc-internal-format
msgid "expected end of line"
msgstr ""
@@ -43887,7 +43914,7 @@ msgstr ""
msgid "ISO C forbids an empty translation unit"
msgstr ""
-#: c/c-parser.c:1665 cp/semantics.c:3201
+#: c/c-parser.c:1665 cp/semantics.c:3219
#, gcc-internal-format
msgid ""
"%<#pragma omp declare target%> without corresponding %<#pragma omp end "
@@ -43925,7 +43952,7 @@ msgid "unknown type name %qE"
msgstr ""
#: c/c-parser.c:2001 c/c-parser.c:12508 c/c-parser.c:18876 c/c-parser.c:19393
-#: c/c-parser.c:19910 cp/parser.c:41330 cp/parser.c:45195
+#: c/c-parser.c:19910 cp/parser.c:41383 cp/parser.c:45248
#, gcc-internal-format
msgid "expected declaration specifiers"
msgstr ""
@@ -43945,7 +43972,7 @@ msgstr ""
msgid "expected %<;%>, identifier or %<(%>"
msgstr ""
-#: c/c-parser.c:2066 cp/parser.c:33879 cp/parser.c:33951
+#: c/c-parser.c:2066 cp/parser.c:33933 cp/parser.c:34005
#, gcc-internal-format
msgid "prefix attributes are ignored for methods"
msgstr ""
@@ -43960,7 +43987,7 @@ msgstr ""
msgid "unexpected attribute"
msgstr ""
-#: c/c-parser.c:2132 c/c-parser.c:6220 cp/parser.c:11832 cp/parser.c:12039
+#: c/c-parser.c:2132 c/c-parser.c:6220 cp/parser.c:11853 cp/parser.c:12060
#, gcc-internal-format
msgid "%<fallthrough%> attribute not followed by %<;%>"
msgstr ""
@@ -43999,7 +44026,7 @@ msgstr ""
msgid "%<__auto_type%> may only be used with a single declarator"
msgstr ""
-#: c/c-parser.c:2415 cp/parser.c:14539
+#: c/c-parser.c:2415 cp/parser.c:14563
#, gcc-internal-format
msgid "expected %<,%> or %<;%>"
msgstr ""
@@ -44057,7 +44084,7 @@ msgstr ""
msgid "static assertion failed: %E"
msgstr ""
-#: c/c-parser.c:2683 cp/semantics.c:10131
+#: c/c-parser.c:2683 cp/semantics.c:10159
#, gcc-internal-format
msgid "static assertion failed"
msgstr ""
@@ -44102,14 +44129,14 @@ msgstr ""
#: c/c-parser.c:12166 c/c-parser.c:12212 c/c-parser.c:12998 c/c-parser.c:13031
#: c/c-parser.c:15343 c/c-parser.c:15453 c/c-parser.c:15726 c/c-parser.c:15989
#: c/c-parser.c:17946 c/c-parser.c:20428 c/c-parser.c:20619
-#: c/gimple-parser.c:1776 c/gimple-parser.c:1814 cp/parser.c:8961
-#: cp/parser.c:31683 cp/parser.c:34856 cp/parser.c:37421 cp/parser.c:37589
-#: cp/parser.c:42903 cp/parser.c:44510
+#: c/gimple-parser.c:1776 c/gimple-parser.c:1814 cp/parser.c:8968
+#: cp/parser.c:31737 cp/parser.c:34910 cp/parser.c:37474 cp/parser.c:37642
+#: cp/parser.c:42956 cp/parser.c:44563
#, gcc-internal-format
msgid "expected identifier"
msgstr ""
-#: c/c-parser.c:3238 cp/parser.c:20165
+#: c/c-parser.c:3238 cp/parser.c:20202
#, gcc-internal-format
msgid "comma at end of enumerator list"
msgstr ""
@@ -44194,7 +44221,7 @@ msgstr ""
msgid "parentheses must be omitted if attribute argument list is empty"
msgstr ""
-#: c/c-parser.c:4932 cp/parser.c:27867
+#: c/c-parser.c:4932 cp/parser.c:27902
#, gcc-internal-format
msgid "%qE attribute does not take any arguments"
msgstr ""
@@ -44255,7 +44282,7 @@ msgstr ""
msgid "expected %<}%> before %<else%>"
msgstr ""
-#: c/c-parser.c:5776 cp/parser.c:12162
+#: c/c-parser.c:5776 cp/parser.c:12184
#, gcc-internal-format
msgid "%<else%> without a previous %<if%>"
msgstr ""
@@ -44270,7 +44297,7 @@ msgstr ""
#. delimiter without consuming it, but here we need to consume
#. it to proceed further.
#: c/c-parser.c:5815 c/c-parser.c:5828 c/c-parser.c:6241 c/gimple-parser.c:2276
-#: cp/parser.c:11782
+#: cp/parser.c:11803
#, gcc-internal-format
msgid "expected statement"
msgstr ""
@@ -44296,17 +44323,17 @@ msgstr ""
msgid "only attribute %<fallthrough%> can be applied to a null statement"
msgstr ""
-#: c/c-parser.c:6348 cp/parser.c:13616
+#: c/c-parser.c:6348 cp/parser.c:13640
#, gcc-internal-format
msgid "suggest braces around empty body in an %<if%> statement"
msgstr ""
-#: c/c-parser.c:6390 cp/parser.c:13619
+#: c/c-parser.c:6390 cp/parser.c:13643
#, gcc-internal-format
msgid "suggest braces around empty body in an %<else%> statement"
msgstr ""
-#: c/c-parser.c:6521 cp/parser.c:12433
+#: c/c-parser.c:6521 cp/parser.c:12455
#, gcc-internal-format
msgid "suggest explicit braces to avoid ambiguous %<else%>"
msgstr ""
@@ -44326,12 +44353,12 @@ msgstr ""
msgid "invalid iterating variable in fast enumeration"
msgstr ""
-#: c/c-parser.c:6872 cp/parser.c:12702
+#: c/c-parser.c:6872 cp/parser.c:12724
#, gcc-internal-format
msgid "missing loop condition in loop with %<GCC ivdep%> pragma"
msgstr ""
-#: c/c-parser.c:6878 cp/parser.c:12708
+#: c/c-parser.c:6878 cp/parser.c:12730
#, gcc-internal-format
msgid "missing loop condition in loop with %<GCC unroll%> pragma"
msgstr ""
@@ -44346,8 +44373,8 @@ msgstr ""
msgid "duplicate %<asm%> qualifier %qE"
msgstr ""
-#: c/c-parser.c:7037 c/c-parser.c:7048 c/c-parser.c:7059 cp/parser.c:21018
-#: cp/parser.c:21035 cp/parser.c:21049
+#: c/c-parser.c:7037 c/c-parser.c:7048 c/c-parser.c:7059 cp/parser.c:21055
+#: cp/parser.c:21072 cp/parser.c:21086
#, gcc-internal-format
msgid "first seen here"
msgstr ""
@@ -44374,14 +44401,14 @@ msgstr ""
#. Location of the binary operator.
#. Quiet warning.
-#: c/c-parser.c:7819 cp/typeck.c:4849
+#: c/c-parser.c:7819 cp/typeck.c:4860
#, gcc-internal-format
msgid ""
"division %<sizeof (%T) / sizeof (%T)%> does not compute the number of array "
"elements"
msgstr ""
-#: c/c-parser.c:7825 cp/typeck.c:4854
+#: c/c-parser.c:7825 cp/typeck.c:4865
#, gcc-internal-format
msgid "first %<sizeof%> operand was declared here"
msgstr ""
@@ -44808,12 +44835,12 @@ msgstr ""
msgid "no type or storage class may be specified here,"
msgstr ""
-#: c/c-parser.c:11951 cp/parser.c:34713
+#: c/c-parser.c:11951 cp/parser.c:34767
#, gcc-internal-format
msgid "empty property attribute list"
msgstr ""
-#: c/c-parser.c:11965 cp/parser.c:34726
+#: c/c-parser.c:11965 cp/parser.c:34780
#, gcc-internal-format
msgid "missing property attribute"
msgstr ""
@@ -44823,27 +44850,27 @@ msgstr ""
msgid "unknown property attribute %<%s%s%>"
msgstr ""
-#: c/c-parser.c:12007 cp/parser.c:34763
+#: c/c-parser.c:12007 cp/parser.c:34817
#, gcc-internal-format
msgid "unknown property attribute"
msgstr ""
-#: c/c-parser.c:12016 cp/parser.c:34772
+#: c/c-parser.c:12016 cp/parser.c:34826
#, gcc-internal-format
msgid "expected %<=%> after Objective-C %qE"
msgstr ""
-#: c/c-parser.c:12027 cp/parser.c:34786
+#: c/c-parser.c:12027 cp/parser.c:34840
#, gcc-internal-format
msgid "expected %qE selector name"
msgstr ""
-#: c/c-parser.c:12043 cp/parser.c:34805
+#: c/c-parser.c:12043 cp/parser.c:34859
#, gcc-internal-format
msgid "setter method names must terminate with %<:%>"
msgstr ""
-#: c/c-parser.c:12257 cp/parser.c:44841
+#: c/c-parser.c:12257 cp/parser.c:44894
#, gcc-internal-format
msgid ""
"%<#pragma GCC unroll%> requires an assignment-expression that evaluates to a "
@@ -44851,27 +44878,27 @@ msgid ""
msgstr ""
#: c/c-parser.c:12301 c/c-parser.c:19390 c/c-parser.c:19685 c/c-parser.c:19744
-#: c/c-parser.c:19830 cp/parser.c:41327 cp/parser.c:41661 cp/parser.c:41751
-#: cp/parser.c:41824 cp/parser.c:44888 cp/parser.c:44903 cp/parser.c:44918
-#: cp/parser.c:44934 cp/parser.c:44950 cp/parser.c:44966 cp/parser.c:44993
-#: cp/parser.c:45006 cp/parser.c:45029 cp/parser.c:45042
+#: c/c-parser.c:19830 cp/parser.c:41380 cp/parser.c:41714 cp/parser.c:41804
+#: cp/parser.c:41877 cp/parser.c:44941 cp/parser.c:44956 cp/parser.c:44971
+#: cp/parser.c:44987 cp/parser.c:45003 cp/parser.c:45019 cp/parser.c:45046
+#: cp/parser.c:45059 cp/parser.c:45082 cp/parser.c:45095
#, gcc-internal-format
msgid "%<#pragma %s%> may only be used in compound statements"
msgstr ""
-#: c/c-parser.c:12324 cp/parser.c:45019
+#: c/c-parser.c:12324 cp/parser.c:45072
#, gcc-internal-format
msgid "%<#pragma acc routine%> must be at file scope"
msgstr ""
-#: c/c-parser.c:12411 cp/parser.c:45114
+#: c/c-parser.c:12411 cp/parser.c:45167
#, gcc-internal-format
msgid ""
"%<#pragma omp scan%> may only be used in a loop construct with %<inscan%> "
"%<reduction%> clause"
msgstr ""
-#: c/c-parser.c:12418 cp/parser.c:45120
+#: c/c-parser.c:12418 cp/parser.c:45173
#, gcc-internal-format
msgid ""
"%<#pragma omp section%> may only be used in %<#pragma omp sections%> "
@@ -44883,18 +44910,18 @@ msgstr ""
msgid "%<#pragma omp requires%> may only be used at file scope"
msgstr ""
-#: c/c-parser.c:12453 c/c-parser.c:12477 cp/parser.c:45149 cp/parser.c:45182
+#: c/c-parser.c:12453 c/c-parser.c:12477 cp/parser.c:45202 cp/parser.c:45235
#, gcc-internal-format
msgid "for, while or do statement expected"
msgstr ""
-#: c/c-parser.c:12490 cp/parser.c:44878
+#: c/c-parser.c:12490 cp/parser.c:44931
#, gcc-internal-format
msgid "%<#pragma GCC pch_preprocess%> must be first"
msgstr ""
#: c/c-parser.c:12829 c/c-parser.c:15837 c/c-parser.c:21433 c/c-parser.c:21441
-#: cp/parser.c:35224 cp/parser.c:37940 cp/parser.c:43961 cp/parser.c:43969
+#: cp/parser.c:35278 cp/parser.c:37993 cp/parser.c:44014 cp/parser.c:44022
#, gcc-internal-format
msgid "too many %qs clauses"
msgstr ""
@@ -44914,53 +44941,53 @@ msgstr ""
msgid "%qD is not a variable"
msgstr ""
-#: c/c-parser.c:13267 cp/semantics.c:7767
+#: c/c-parser.c:13267 cp/semantics.c:7795
#, gcc-internal-format
msgid "%qD is not a pointer variable"
msgstr ""
-#: c/c-parser.c:13309 cp/parser.c:35911
+#: c/c-parser.c:13309 cp/parser.c:35964
#, gcc-internal-format
msgid "collapse argument needs positive constant integer expression"
msgstr ""
-#: c/c-parser.c:13386 cp/parser.c:35975
+#: c/c-parser.c:13386 cp/parser.c:36028
#, gcc-internal-format
msgid "expected %<none%> or %<present%>"
msgstr ""
-#: c/c-parser.c:13388 cp/parser.c:35977
+#: c/c-parser.c:13388 cp/parser.c:36030
#, gcc-internal-format
msgid "expected %<none%> or %<shared%>"
msgstr ""
-#: c/c-parser.c:13508 cp/parser.c:36088
+#: c/c-parser.c:13508 cp/parser.c:36141
#, gcc-internal-format
msgid "expected %<data%>, %<update%>, %<enter%> or %<exit%>"
msgstr ""
-#: c/c-parser.c:13528 c/c-parser.c:19737 c/c-parser.c:19823 cp/parser.c:36106
-#: cp/parser.c:41653 cp/parser.c:41743
+#: c/c-parser.c:13528 c/c-parser.c:19737 c/c-parser.c:19823 cp/parser.c:36159
+#: cp/parser.c:41706 cp/parser.c:41796
#, gcc-internal-format
msgid "expected %<data%>"
msgstr ""
-#: c/c-parser.c:13581 cp/parser.c:36161
+#: c/c-parser.c:13581 cp/parser.c:36214
#, gcc-internal-format
msgid "too many %<if%> clauses with %qs modifier"
msgstr ""
-#: c/c-parser.c:13588 cp/parser.c:36168
+#: c/c-parser.c:13588 cp/parser.c:36221
#, gcc-internal-format
msgid "too many %<if%> clauses"
msgstr ""
-#: c/c-parser.c:13590 cp/parser.c:36170
+#: c/c-parser.c:13590 cp/parser.c:36223
#, gcc-internal-format
msgid "too many %<if%> clauses without modifier"
msgstr ""
-#: c/c-parser.c:13596 cp/parser.c:36176
+#: c/c-parser.c:13596 cp/parser.c:36229
#, gcc-internal-format
msgid ""
"if any %<if%> clause has modifier, then all %<if%> clauses have to use "
@@ -44984,111 +45011,111 @@ msgstr ""
msgid "%<num_tasks%> value must be positive"
msgstr ""
-#: c/c-parser.c:13804 cp/semantics.c:7972
+#: c/c-parser.c:13804 cp/semantics.c:8000
#, gcc-internal-format
msgid "%<grainsize%> value must be positive"
msgstr ""
-#: c/c-parser.c:13851 cp/semantics.c:8002
+#: c/c-parser.c:13851 cp/semantics.c:8030
#, gcc-internal-format
msgid "%<priority%> value must be non-negative"
msgstr ""
-#: c/c-parser.c:13885 cp/parser.c:36368
+#: c/c-parser.c:13885 cp/parser.c:36421
#, gcc-internal-format
msgid "expected constant integer expression with valid sync-hint value"
msgstr ""
-#: c/c-parser.c:13925 cp/parser.c:36410
+#: c/c-parser.c:13925 cp/parser.c:36463
#, gcc-internal-format
msgid ""
"expected %<alloc%>, %<to%>, %<from%>, %<tofrom%>, %<firstprivate%>, %<none%> "
"or %<default%>"
msgstr ""
-#: c/c-parser.c:13986 cp/parser.c:36475
+#: c/c-parser.c:13986 cp/parser.c:36528
#, gcc-internal-format
msgid "expected %<scalar%>, %<aggregate%> or %<pointer%>"
msgstr ""
-#: c/c-parser.c:14052 cp/parser.c:36544
+#: c/c-parser.c:14052 cp/parser.c:36597
#, gcc-internal-format
msgid "too many %<defaultmap%> clauses with %qs category"
msgstr ""
-#: c/c-parser.c:14055 cp/parser.c:36547
+#: c/c-parser.c:14055 cp/parser.c:36600
#, gcc-internal-format
msgid "too many %<defaultmap%> clauses with unspecified category"
msgstr ""
-#: c/c-parser.c:14129 cp/semantics.c:7009
+#: c/c-parser.c:14129 cp/semantics.c:7037
#, gcc-internal-format
msgid "%qs expression must be integral"
msgstr ""
-#: c/c-parser.c:14141 c/c-parser.c:14264 cp/semantics.c:7041
+#: c/c-parser.c:14141 c/c-parser.c:14264 cp/semantics.c:7069
#, gcc-internal-format
msgid "%qs value must be positive"
msgstr ""
-#: c/c-parser.c:14203 cp/parser.c:35683
+#: c/c-parser.c:14203 cp/parser.c:35736
#, gcc-internal-format
msgid "too many %<static%> arguments"
msgstr ""
-#: c/c-parser.c:14237 cp/parser.c:35716
+#: c/c-parser.c:14237 cp/parser.c:35769
#, gcc-internal-format
msgid "unexpected argument"
msgstr ""
-#: c/c-parser.c:14404 cp/semantics.c:8137
+#: c/c-parser.c:14404 cp/semantics.c:8165
#, gcc-internal-format
msgid "%<tile%> argument needs positive integral constant"
msgstr ""
-#: c/c-parser.c:14462 c/c-parser.c:14468 cp/parser.c:36579 cp/parser.c:36589
+#: c/c-parser.c:14462 c/c-parser.c:14468 cp/parser.c:36632 cp/parser.c:36642
#, gcc-internal-format
msgid "expected %<concurrent%>"
msgstr ""
-#: c/c-parser.c:14502 cp/parser.c:36627
+#: c/c-parser.c:14502 cp/parser.c:36680
#, gcc-internal-format
msgid "expected %<teams%>, %<parallel%> or %<thread%>"
msgstr ""
-#: c/c-parser.c:14555 cp/parser.c:36695
+#: c/c-parser.c:14555 cp/parser.c:36748
#, gcc-internal-format
msgid "ordered argument needs positive constant integer expression"
msgstr ""
-#: c/c-parser.c:14680 c/c-parser.c:20999 cp/parser.c:43612
+#: c/c-parser.c:14680 c/c-parser.c:20999 cp/parser.c:43665
#, gcc-internal-format
msgid ""
"expected %<+%>, %<*%>, %<-%>, %<&%>, %<^%>, %<|%>, %<&&%>, %<||%> or "
"identifier"
msgstr ""
-#: c/c-parser.c:14800 cp/parser.c:36953
+#: c/c-parser.c:14800 cp/parser.c:37006
#, gcc-internal-format
msgid "both %<monotonic%> and %<nonmonotonic%> modifiers specified"
msgstr ""
-#: c/c-parser.c:14854 cp/parser.c:36969
+#: c/c-parser.c:14854 cp/parser.c:37022
#, gcc-internal-format
msgid "schedule %<runtime%> does not take a %<chunk_size%> parameter"
msgstr ""
-#: c/c-parser.c:14858 cp/parser.c:36972
+#: c/c-parser.c:14858 cp/parser.c:37025
#, gcc-internal-format
msgid "schedule %<auto%> does not take a %<chunk_size%> parameter"
msgstr ""
-#: c/c-parser.c:14870 cp/semantics.c:7076
+#: c/c-parser.c:14870 cp/semantics.c:7104
#, gcc-internal-format
msgid "chunk size value must be positive"
msgstr ""
-#: c/c-parser.c:14893 cp/parser.c:36992
+#: c/c-parser.c:14893 cp/parser.c:37045
#, gcc-internal-format
msgid "invalid schedule kind"
msgstr ""
@@ -45098,19 +45125,19 @@ msgstr ""
msgid "%<num_teams%> value must be positive"
msgstr ""
-#: c/c-parser.c:15059 cp/semantics.c:7172
+#: c/c-parser.c:15059 cp/semantics.c:7200
#, gcc-internal-format
msgid "%<thread_limit%> value must be positive"
msgstr ""
-#: c/c-parser.c:15104 cp/semantics.c:7291
+#: c/c-parser.c:15104 cp/semantics.c:7319
#, gcc-internal-format
msgid ""
"%<aligned%> clause alignment expression must be positive constant integer "
"expression"
msgstr ""
-#: c/c-parser.c:15149 cp/semantics.c:7389
+#: c/c-parser.c:15149 cp/semantics.c:7417
#, gcc-internal-format
msgid ""
"%<allocate%> clause allocator expression has type %qT rather than "
@@ -45134,22 +45161,22 @@ msgid ""
"%<simdlen%> clause expression must be positive constant integer expression"
msgstr ""
-#: c/c-parser.c:15580 cp/parser.c:37721
+#: c/c-parser.c:15580 cp/parser.c:37774
#, gcc-internal-format
msgid "%<iterator%> modifier incompatible with %qs"
msgstr ""
-#: c/c-parser.c:15627 cp/parser.c:37769 cp/parser.c:37998 cp/parser.c:38048
+#: c/c-parser.c:15627 cp/parser.c:37822 cp/parser.c:38051 cp/parser.c:38101
#, gcc-internal-format
msgid "invalid depend kind"
msgstr ""
-#: c/c-parser.c:15714 cp/parser.c:37844
+#: c/c-parser.c:15714 cp/parser.c:37897
#, gcc-internal-format
msgid "invalid map kind"
msgstr ""
-#: c/c-parser.c:15812 cp/parser.c:37945
+#: c/c-parser.c:15812 cp/parser.c:37998
#, gcc-internal-format
msgid "invalid dist_schedule kind"
msgstr ""
@@ -45164,85 +45191,85 @@ msgstr ""
msgid "expected %<host%>, %<nohost%> or %<any%>"
msgstr ""
-#: c/c-parser.c:16009 cp/semantics.c:7547
+#: c/c-parser.c:16009 cp/semantics.c:7575
#, gcc-internal-format
msgid ""
"%<detach%> clause event handle has type %qT rather than %<omp_event_handle_t"
"%>"
msgstr ""
-#: c/c-parser.c:16206 cp/parser.c:38282
+#: c/c-parser.c:16206 cp/parser.c:38335
#, gcc-internal-format
msgid "expected %<#pragma acc%> clause"
msgstr ""
-#: c/c-parser.c:16217 c/c-parser.c:16549 cp/parser.c:38293 cp/parser.c:38664
+#: c/c-parser.c:16217 c/c-parser.c:16549 cp/parser.c:38346 cp/parser.c:38717
#, gcc-internal-format
msgid "%qs is not valid for %qs"
msgstr ""
-#: c/c-parser.c:16261 cp/parser.c:38340
+#: c/c-parser.c:16261 cp/parser.c:38393
#, gcc-internal-format
msgid "clauses in %<simd%> trait should be separated by %<,%>"
msgstr ""
-#: c/c-parser.c:16406 cp/parser.c:38518
+#: c/c-parser.c:16406 cp/parser.c:38571
#, gcc-internal-format
msgid "%qs must be the first clause of %qs"
msgstr ""
-#: c/c-parser.c:16538 cp/parser.c:38653
+#: c/c-parser.c:16538 cp/parser.c:38706
#, gcc-internal-format
msgid "expected %<#pragma omp%> clause"
msgstr ""
-#: c/c-parser.c:16671 cp/parser.c:42180
+#: c/c-parser.c:16671 cp/parser.c:42233
#, gcc-internal-format
msgid "no valid clauses specified in %<#pragma acc declare%>"
msgstr ""
-#: c/c-parser.c:16681 cp/parser.c:42190
+#: c/c-parser.c:16681 cp/parser.c:42243
#, gcc-internal-format
msgid "array section in %<#pragma acc declare%>"
msgstr ""
-#: c/c-parser.c:16701 cp/parser.c:42210
+#: c/c-parser.c:16701 cp/parser.c:42263
#, gcc-internal-format
msgid "%qD must be a global variable in %<#pragma acc declare link%>"
msgstr ""
-#: c/c-parser.c:16712 cp/parser.c:42221
+#: c/c-parser.c:16712 cp/parser.c:42274
#, gcc-internal-format
msgid "invalid OpenACC clause at file scope"
msgstr ""
-#: c/c-parser.c:16719 cp/parser.c:42228
+#: c/c-parser.c:16719 cp/parser.c:42281
#, gcc-internal-format
msgid "invalid use of %<extern%> variable %qD in %<#pragma acc declare%>"
msgstr ""
-#: c/c-parser.c:16727 cp/parser.c:42236
+#: c/c-parser.c:16727 cp/parser.c:42289
#, gcc-internal-format
msgid "invalid use of %<global%> variable %qD in %<#pragma acc declare%>"
msgstr ""
-#: c/c-parser.c:16738 cp/parser.c:42258
+#: c/c-parser.c:16738 cp/parser.c:42311
#, gcc-internal-format
msgid ""
"%qD must be a variable declared in the same scope as %<#pragma acc declare%>"
msgstr ""
-#: c/c-parser.c:16748 cp/parser.c:42268
+#: c/c-parser.c:16748 cp/parser.c:42321
#, gcc-internal-format
msgid "variable %qD used more than once with %<#pragma acc declare%>"
msgstr ""
-#: c/c-parser.c:16841 cp/parser.c:42365
+#: c/c-parser.c:16841 cp/parser.c:42418
#, gcc-internal-format
msgid "expected %<data%> after %<#pragma acc %s%>"
msgstr ""
-#: c/c-parser.c:16857 cp/parser.c:42382
+#: c/c-parser.c:16857 cp/parser.c:42435
#, gcc-internal-format
msgid "%<#pragma acc %s data%> has no data movement clause"
msgstr ""
@@ -45257,7 +45284,7 @@ msgstr ""
msgid "expected function name"
msgstr ""
-#: c/c-parser.c:17128 cp/parser.c:44205
+#: c/c-parser.c:17128 cp/parser.c:44258
#, gcc-internal-format
msgid "%qD does not refer to a function"
msgstr ""
@@ -45269,31 +45296,31 @@ msgid ""
"definition"
msgstr ""
-#: c/c-parser.c:17191 cp/parser.c:44256 cp/parser.c:44301
+#: c/c-parser.c:17191 cp/parser.c:44309 cp/parser.c:44354
#, gcc-internal-format
msgid ""
"%<#pragma acc routine%> not immediately followed by a single function "
"declaration or definition"
msgstr ""
-#: c/c-parser.c:17222 cp/parser.c:44330
+#: c/c-parser.c:17222 cp/parser.c:44383
#, gcc-internal-format
msgid "%<#pragma acc routine%> must be applied before use"
msgstr ""
-#: c/c-parser.c:17223 cp/parser.c:44332
+#: c/c-parser.c:17223 cp/parser.c:44385
#, gcc-internal-format
msgid "%<#pragma acc routine%> must be applied before definition"
msgstr ""
-#: c/c-parser.c:17267 cp/parser.c:42583
+#: c/c-parser.c:17267 cp/parser.c:42636
#, gcc-internal-format
msgid ""
"%<#pragma acc update%> must contain at least one %<device%> or %<host%> or "
"%<self%> clause"
msgstr ""
-#: c/c-parser.c:17322 cp/parser.c:38743
+#: c/c-parser.c:17322 cp/parser.c:38796
#, gcc-internal-format
msgid "expected %<allocator%>"
msgstr ""
@@ -45305,91 +45332,91 @@ msgid ""
"%<omp_allocator_handle_t%>"
msgstr ""
-#: c/c-parser.c:17353 cp/parser.c:38758
+#: c/c-parser.c:17353 cp/parser.c:38811
#, gcc-internal-format
msgid "%<#pragma omp allocate%> not yet supported"
msgstr ""
-#: c/c-parser.c:17452 cp/parser.c:38851
+#: c/c-parser.c:17452 cp/parser.c:38904
#, gcc-internal-format
msgid "expected %<read%>, %<write%>, %<update%>, or %<capture%> clause"
msgstr ""
-#: c/c-parser.c:17474 cp/parser.c:38873
+#: c/c-parser.c:17474 cp/parser.c:38926
#, gcc-internal-format
msgid ""
"expected %<read%>, %<write%>, %<update%>, %<capture%>, %<seq_cst%>, %<acq_rel"
"%>, %<release%>, %<relaxed%> or %<hint%> clause"
msgstr ""
-#: c/c-parser.c:17488 cp/parser.c:38887
+#: c/c-parser.c:17488 cp/parser.c:38940
#, gcc-internal-format
msgid "too many atomic clauses"
msgstr ""
-#: c/c-parser.c:17495 cp/parser.c:38894
+#: c/c-parser.c:17495 cp/parser.c:38947
#, gcc-internal-format
msgid "too many memory order clauses"
msgstr ""
-#: c/c-parser.c:17552 cp/parser.c:38951
+#: c/c-parser.c:17552 cp/parser.c:39004
#, gcc-internal-format
msgid ""
"%<#pragma omp atomic read%> incompatible with %<acq_rel%> or %<release%> "
"clauses"
msgstr ""
-#: c/c-parser.c:17561 cp/parser.c:38960
+#: c/c-parser.c:17561 cp/parser.c:39013
#, gcc-internal-format
msgid ""
"%<#pragma omp atomic write%> incompatible with %<acq_rel%> or %<acquire%> "
"clauses"
msgstr ""
-#: c/c-parser.c:17571 cp/parser.c:38969
+#: c/c-parser.c:17571 cp/parser.c:39022
#, gcc-internal-format
msgid ""
"%<#pragma omp atomic update%> incompatible with %<acq_rel%> or %<acquire%> "
"clauses"
msgstr ""
-#: c/c-parser.c:17837 cp/parser.c:39174 cp/parser.c:39200
+#: c/c-parser.c:17837 cp/parser.c:39227 cp/parser.c:39253
#, gcc-internal-format
msgid "invalid form of %<#pragma omp atomic%>"
msgstr ""
-#: c/c-parser.c:17841 cp/parser.c:39231 cp/parser.c:39247
+#: c/c-parser.c:17841 cp/parser.c:39284 cp/parser.c:39300
#, gcc-internal-format
msgid "invalid operator for %<#pragma omp atomic%>"
msgstr ""
-#: c/c-parser.c:17890 cp/semantics.c:9721 cp/semantics.c:9731
+#: c/c-parser.c:17890 cp/semantics.c:9749 cp/semantics.c:9759
#, gcc-internal-format
msgid ""
"%<#pragma omp atomic capture%> uses two different expressions for memory"
msgstr ""
-#: c/c-parser.c:17990 cp/semantics.c:9796
+#: c/c-parser.c:17990 cp/semantics.c:9824
#, gcc-internal-format
msgid "%<depobj%> expression is not lvalue expression"
msgstr ""
-#: c/c-parser.c:18047 cp/parser.c:39431
+#: c/c-parser.c:18047 cp/parser.c:39484
#, gcc-internal-format
msgid "expected %<in%>, %<out%>, %<inout%> or %<mutexinoutset%>"
msgstr ""
-#: c/c-parser.c:18059 cp/parser.c:39447
+#: c/c-parser.c:18059 cp/parser.c:39500
#, gcc-internal-format
msgid "expected %<depend%>, %<destroy%> or %<update%> clause"
msgstr ""
-#: c/c-parser.c:18095 cp/parser.c:39480
+#: c/c-parser.c:18095 cp/parser.c:39533
#, gcc-internal-format
msgid "expected %<acq_rel%>, %<release%> or %<acquire%>"
msgstr ""
-#: c/c-parser.c:18102 cp/parser.c:39487
+#: c/c-parser.c:18102 cp/parser.c:39540
#, gcc-internal-format
msgid "%<flush%> list specified together with memory order clause"
msgstr ""
@@ -45399,34 +45426,34 @@ msgstr ""
msgid "expected %<(%> or end of line"
msgstr ""
-#: c/c-parser.c:18161 cp/parser.c:40092
+#: c/c-parser.c:18161 cp/parser.c:40145
#, gcc-internal-format
msgid "expected %<inclusive%> or %<exclusive%> clause"
msgstr ""
-#: c/c-parser.c:18166 cp/parser.c:40098
+#: c/c-parser.c:18166 cp/parser.c:40151
#, gcc-internal-format
msgid "expected %<#pragma omp scan%>"
msgstr ""
-#: c/c-parser.c:18222 cp/parser.c:40149
+#: c/c-parser.c:18222 cp/parser.c:40202
#, gcc-internal-format
msgid "%<ordered%> clause parameter is less than %<collapse%>"
msgstr ""
-#: c/c-parser.c:18233 cp/parser.c:40160
+#: c/c-parser.c:18233 cp/parser.c:40213
#, gcc-internal-format
msgid ""
"%<linear%> clause may not be specified together with %<ordered%> clause with "
"a parameter"
msgstr ""
-#: c/c-parser.c:18251 cp/parser.c:40188
+#: c/c-parser.c:18251 cp/parser.c:40241
#, gcc-internal-format
msgid "for statement expected"
msgstr ""
-#: c/c-parser.c:18330 cp/semantics.c:9306 cp/semantics.c:9397
+#: c/c-parser.c:18330 cp/semantics.c:9334 cp/semantics.c:9425
#, gcc-internal-format
msgid "expected iteration declaration or initialization"
msgstr ""
@@ -45436,86 +45463,86 @@ msgstr ""
msgid "not enough perfectly nested loops"
msgstr ""
-#: c/c-parser.c:18464 cp/parser.c:40502
+#: c/c-parser.c:18464 cp/parser.c:40555
#, gcc-internal-format
msgid "collapsed loops not perfectly nested"
msgstr ""
-#: c/c-parser.c:18547 cp/parser.c:40298 cp/parser.c:40340 cp/pt.c:17886
+#: c/c-parser.c:18547 cp/parser.c:40351 cp/parser.c:40393 cp/pt.c:17975
#, gcc-internal-format
msgid "iteration variable %qD should not be firstprivate"
msgstr ""
-#: c/c-parser.c:18681 cp/parser.c:40621
+#: c/c-parser.c:18681 cp/parser.c:40674
#, gcc-internal-format
msgid "%<ordered%> clause with parameter may not be specified on %qs construct"
msgstr ""
-#: c/c-parser.c:18895 cp/parser.c:40839
+#: c/c-parser.c:18895 cp/parser.c:40892
#, gcc-internal-format
msgid ""
"%<#pragma omp ordered%> with %<depend%> clause may only be used in compound "
"statements"
msgstr ""
-#: c/c-parser.c:19105 cp/parser.c:41040
+#: c/c-parser.c:19105 cp/parser.c:41093
#, gcc-internal-format
msgid "expected %<for%> after %qs"
msgstr ""
-#: c/c-parser.c:19381 cp/parser.c:41318
+#: c/c-parser.c:19381 cp/parser.c:41371
#, gcc-internal-format
msgid "expected %<point%>"
msgstr ""
-#: c/c-parser.c:19634 cp/parser.c:41591
+#: c/c-parser.c:19634 cp/parser.c:41644
#, 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.c:19650 cp/parser.c:41607
+#: c/c-parser.c:19650 cp/parser.c:41660
#, 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.c:19698 cp/parser.c:41837
+#: c/c-parser.c:19698 cp/parser.c:41890
#, gcc-internal-format
msgid ""
"%<#pragma omp target update%> must contain at least one %<from%> or %<to%> "
"clauses"
msgstr ""
-#: c/c-parser.c:19772 cp/parser.c:41690
+#: c/c-parser.c:19772 cp/parser.c:41743
#, gcc-internal-format
msgid ""
"%<#pragma omp target enter data%> with map-type other than %<to%> or %<alloc"
"%> on %<map%> clause"
msgstr ""
-#: c/c-parser.c:19784 cp/parser.c:41702
+#: c/c-parser.c:19784 cp/parser.c:41755
#, gcc-internal-format
msgid ""
"%<#pragma omp target enter data%> must contain at least one %<map%> clause"
msgstr ""
-#: c/c-parser.c:19859 cp/parser.c:41781
+#: c/c-parser.c:19859 cp/parser.c:41834
#, gcc-internal-format
msgid ""
"%<#pragma omp target exit data%> with map-type other than %<from%>, %<release"
"%> or %<delete%> on %<map%> clause"
msgstr ""
-#: c/c-parser.c:19872 cp/parser.c:41794
+#: c/c-parser.c:19872 cp/parser.c:41847
#, gcc-internal-format
msgid ""
"%<#pragma omp target exit data%> must contain at least one %<map%> clause"
msgstr ""
-#: c/c-parser.c:20095 cp/parser.c:42055
+#: c/c-parser.c:20095 cp/parser.c:42108
#, gcc-internal-format
msgid ""
"%<#pragma omp target%> with map-type other than %<to%>, %<from%>, %<tofrom%> "
@@ -45536,58 +45563,58 @@ msgid ""
"definition"
msgstr ""
-#: c/c-parser.c:20270 cp/parser.c:42731
+#: c/c-parser.c:20270 cp/parser.c:42784
#, gcc-internal-format
msgid "expected trait selector name"
msgstr ""
-#: c/c-parser.c:20323 cp/parser.c:42783
+#: c/c-parser.c:20323 cp/parser.c:42836
#, gcc-internal-format
msgid "selector %qs not allowed for context selector set %qs"
msgstr ""
-#: c/c-parser.c:20348 cp/parser.c:42807
+#: c/c-parser.c:20348 cp/parser.c:42860
#, gcc-internal-format
msgid "selector %qs does not accept any properties"
msgstr ""
-#: c/c-parser.c:20375 cp/parser.c:42846 cp/pt.c:11516
+#: c/c-parser.c:20375 cp/parser.c:42899 cp/pt.c:11545
#, gcc-internal-format
msgid "score argument must be constant integer expression"
msgstr ""
-#: c/c-parser.c:20378 cp/parser.c:42849 cp/pt.c:11533
+#: c/c-parser.c:20378 cp/parser.c:42902 cp/pt.c:11562
#, gcc-internal-format
msgid "score argument must be non-negative"
msgstr ""
-#: c/c-parser.c:20402 cp/parser.c:42877 cp/pt.c:11519
+#: c/c-parser.c:20402 cp/parser.c:42930 cp/pt.c:11548
#, gcc-internal-format
msgid "property must be constant integer expression or string literal"
msgstr ""
-#: c/c-parser.c:20447 cp/parser.c:42921
+#: c/c-parser.c:20447 cp/parser.c:42974
#, gcc-internal-format
msgid "expected identifier or string literal"
msgstr ""
-#: c/c-parser.c:20469 cp/parser.c:42943 cp/pt.c:11523
+#: c/c-parser.c:20469 cp/parser.c:42996 cp/pt.c:11552
#, gcc-internal-format
msgid "property must be constant integer expression"
msgstr ""
-#: c/c-parser.c:20480 cp/parser.c:42954
+#: c/c-parser.c:20480 cp/parser.c:43007
#, gcc-internal-format
msgid ""
"properties for %<simd%> selector may not be specified in %<metadirective%>"
msgstr ""
-#: c/c-parser.c:20567 cp/parser.c:43040
+#: c/c-parser.c:20567 cp/parser.c:43093
#, gcc-internal-format
msgid "expected %<construct%>, %<device%>, %<implementation%> or %<user%>"
msgstr ""
-#: c/c-parser.c:20642 cp/parser.c:43148
+#: c/c-parser.c:20642 cp/parser.c:43201
#, gcc-internal-format
msgid "expected %<match%>"
msgstr ""
@@ -45597,12 +45624,12 @@ msgstr ""
msgid "variant %qD is not a function"
msgstr ""
-#: c/c-parser.c:20668 cp/decl.c:7567
+#: c/c-parser.c:20668 cp/decl.c:7563
#, gcc-internal-format
msgid "variant %qD and base %qD have incompatible types"
msgstr ""
-#: c/c-parser.c:20680 cp/decl.c:7576
+#: c/c-parser.c:20680 cp/decl.c:7572
#, gcc-internal-format
msgid "variant %qD is a built-in"
msgstr ""
@@ -45614,34 +45641,34 @@ msgid ""
"declaration or definition"
msgstr ""
-#: c/c-parser.c:20731 cp/parser.c:43193
+#: c/c-parser.c:20731 cp/parser.c:43246
#, gcc-internal-format
msgid ""
"%<#pragma omp declare %s%> not immediately followed by a single function "
"declaration or definition"
msgstr ""
-#: c/c-parser.c:20840 cp/parser.c:43298
+#: c/c-parser.c:20840 cp/parser.c:43351
#, gcc-internal-format
msgid "%qD specified both in declare target %<link%> and %<to%> clauses"
msgstr ""
-#: c/c-parser.c:20889 cp/parser.c:43347
+#: c/c-parser.c:20889 cp/parser.c:43400
#, gcc-internal-format
msgid "directive with only %<device_type%> clauses ignored"
msgstr ""
-#: c/c-parser.c:20908 cp/parser.c:43372
+#: c/c-parser.c:20908 cp/parser.c:43425
#, gcc-internal-format
msgid "expected %<target%>"
msgstr ""
-#: c/c-parser.c:20915 cp/parser.c:43379
+#: c/c-parser.c:20915 cp/parser.c:43432
#, gcc-internal-format
msgid "expected %<declare%>"
msgstr ""
-#: c/c-parser.c:20921 cp/parser.c:43386
+#: c/c-parser.c:20921 cp/parser.c:43439
#, gcc-internal-format
msgid ""
"%<#pragma omp end declare target%> without corresponding %<#pragma omp "
@@ -45700,49 +45727,49 @@ msgstr ""
msgid "one of the initializer call arguments should be %<&omp_priv%>"
msgstr ""
-#: c/c-parser.c:21331 cp/parser.c:43854
+#: c/c-parser.c:21331 cp/parser.c:43907
#, gcc-internal-format
msgid "expected %<simd%>, %<reduction%>, %<target%> or %<variant%>"
msgstr ""
-#: c/c-parser.c:21395 cp/parser.c:43917
+#: c/c-parser.c:21395 cp/parser.c:43970
#, gcc-internal-format
msgid "expected %<seq_cst%>, %<relaxed%> or %<acq_rel%>"
msgstr ""
-#: c/c-parser.c:21415 cp/parser.c:43943
+#: c/c-parser.c:21415 cp/parser.c:43996
#, gcc-internal-format
msgid ""
"expected %<unified_address%>, %<unified_shared_memory%>, %<dynamic_allocators"
"%>, %<reverse_offload%> or %<atomic_default_mem_order%> clause"
msgstr ""
-#: c/c-parser.c:21424 cp/parser.c:43952
+#: c/c-parser.c:21424 cp/parser.c:44005
#, gcc-internal-format
msgid "%qs clause on %<requires%> directive not supported yet"
msgstr ""
-#: c/c-parser.c:21436 cp/parser.c:43964
+#: c/c-parser.c:21436 cp/parser.c:44017
#, gcc-internal-format
msgid ""
"%qs clause used lexically after first target construct or offloading API"
msgstr ""
-#: c/c-parser.c:21448 cp/parser.c:43976
+#: c/c-parser.c:21448 cp/parser.c:44029
#, gcc-internal-format
msgid ""
"more than one %<atomic_default_mem_order%> clause in a single compilation "
"unit"
msgstr ""
-#: c/c-parser.c:21457 cp/parser.c:43985
+#: c/c-parser.c:21457 cp/parser.c:44038
#, gcc-internal-format
msgid ""
"%<atomic_default_mem_order%> clause used lexically after first %<atomic%> "
"construct without memory order clause"
msgstr ""
-#: c/c-parser.c:21471 cp/parser.c:43999
+#: c/c-parser.c:21471 cp/parser.c:44052
#, gcc-internal-format
msgid "%<pragma omp requires%> requires at least one clause"
msgstr ""
@@ -45757,27 +45784,27 @@ msgstr ""
msgid "variable sized type %qT in %<reduction%> clause"
msgstr ""
-#: c/c-parser.c:21736 cp/semantics.c:8745
+#: c/c-parser.c:21736 cp/semantics.c:8773
#, gcc-internal-format
msgid "%qE declared %<threadprivate%> after first use"
msgstr ""
-#: c/c-parser.c:21738 cp/semantics.c:8747
+#: c/c-parser.c:21738 cp/semantics.c:8775
#, gcc-internal-format
msgid "automatic variable %qE cannot be %<threadprivate%>"
msgstr ""
-#: c/c-parser.c:21742 cp/semantics.c:8749
+#: c/c-parser.c:21742 cp/semantics.c:8777
#, gcc-internal-format
msgid "%<threadprivate%> %qE has incomplete type"
msgstr ""
-#: c/c-parser.c:21921 cp/parser.c:44732
+#: c/c-parser.c:21921 cp/parser.c:44785
#, gcc-internal-format
msgid "%<__transaction_cancel%> without transactional memory support enabled"
msgstr ""
-#: c/c-parser.c:21927 cp/parser.c:44738
+#: c/c-parser.c:21927 cp/parser.c:44791
#, gcc-internal-format
msgid "%<__transaction_cancel%> within a %<__transaction_relaxed%>"
msgstr ""
@@ -45789,7 +45816,7 @@ msgid ""
"a %<transaction_may_cancel_outer%> function"
msgstr ""
-#: c/c-parser.c:21944 cp/parser.c:44756
+#: c/c-parser.c:21944 cp/parser.c:44809
#, gcc-internal-format
msgid "%<__transaction_cancel%> not within %<__transaction_atomic%>"
msgstr ""
@@ -45804,7 +45831,7 @@ msgstr ""
msgid "%qD has an incomplete type %qT"
msgstr ""
-#: c/c-typeck.c:241 c/c-typeck.c:10615 c/c-typeck.c:10657 cp/call.c:4552
+#: c/c-typeck.c:241 c/c-typeck.c:10675 c/c-typeck.c:10717 cp/call.c:4555
#, gcc-internal-format
msgid "invalid use of void expression"
msgstr ""
@@ -45847,127 +45874,127 @@ msgstr ""
msgid "function types not truly compatible in ISO C"
msgstr ""
-#: c/c-typeck.c:770
+#: c/c-typeck.c:776
#, gcc-internal-format
msgid "cannot mix operands of decimal floating and vector types"
msgstr ""
-#: c/c-typeck.c:775
+#: c/c-typeck.c:781
#, gcc-internal-format
msgid "cannot mix operands of decimal floating and complex types"
msgstr ""
-#: c/c-typeck.c:780
+#: c/c-typeck.c:786
#, gcc-internal-format
msgid "cannot mix operands of decimal floating and other floating types"
msgstr ""
-#: c/c-typeck.c:1325
+#: c/c-typeck.c:1331
#, gcc-internal-format
msgid "pointers to arrays with different qualifiers are incompatible in ISO C"
msgstr ""
-#: c/c-typeck.c:1329
+#: c/c-typeck.c:1335
#, gcc-internal-format
msgid "types are not quite compatible"
msgstr ""
-#: c/c-typeck.c:1333
+#: c/c-typeck.c:1339
#, gcc-internal-format
msgid "pointer target types incompatible in C++"
msgstr ""
-#: c/c-typeck.c:1666
+#: c/c-typeck.c:1672
#, gcc-internal-format
msgid "function return types not compatible due to %<volatile%>"
msgstr ""
-#: c/c-typeck.c:1924
+#: c/c-typeck.c:1930
#, gcc-internal-format
msgid "converting an array compound literal to a pointer is ill-formed in C++"
msgstr ""
-#: c/c-typeck.c:2457 c/c-typeck.c:9170
+#: c/c-typeck.c:2507 c/c-typeck.c:9230
#, gcc-internal-format
msgid "%qT has no member named %qE; did you mean %qE?"
msgstr ""
-#: c/c-typeck.c:2461 c/c-typeck.c:9174
+#: c/c-typeck.c:2511 c/c-typeck.c:9234
#, gcc-internal-format
msgid "%qT has no member named %qE"
msgstr ""
-#: c/c-typeck.c:2470
+#: c/c-typeck.c:2520
#, gcc-internal-format
msgid "accessing a member %qE of an atomic structure %qE"
msgstr ""
-#: c/c-typeck.c:2473
+#: c/c-typeck.c:2523
#, gcc-internal-format
msgid "accessing a member %qE of an atomic union %qE"
msgstr ""
-#: c/c-typeck.c:2533
+#: c/c-typeck.c:2583
#, gcc-internal-format
msgid "%qE is a pointer; did you mean to use %<->%>?"
msgstr ""
-#: c/c-typeck.c:2539
+#: c/c-typeck.c:2589
#, gcc-internal-format
msgid "request for member %qE in something not a structure or union"
msgstr ""
-#: c/c-typeck.c:2587
+#: c/c-typeck.c:2637
#, gcc-internal-format
msgid "dereferencing %<void *%> pointer"
msgstr ""
-#: c/c-typeck.c:2642
+#: c/c-typeck.c:2692
#, gcc-internal-format
msgid "subscripted value is neither array nor pointer nor vector"
msgstr ""
-#: c/c-typeck.c:2652 cp/typeck.c:3588 cp/typeck.c:3681
+#: c/c-typeck.c:2702 cp/typeck.c:3599 cp/typeck.c:3692
#, gcc-internal-format
msgid "array subscript is not an integer"
msgstr ""
-#: c/c-typeck.c:2658
+#: c/c-typeck.c:2708
#, gcc-internal-format
msgid "subscripted value is pointer to function"
msgstr ""
-#: c/c-typeck.c:2712
+#: c/c-typeck.c:2762
#, gcc-internal-format
msgid "ISO C forbids subscripting %<register%> array"
msgstr ""
-#: c/c-typeck.c:2715
+#: c/c-typeck.c:2765
#, gcc-internal-format
msgid "ISO C90 forbids subscripting non-lvalue array"
msgstr ""
-#: c/c-typeck.c:2829
+#: c/c-typeck.c:2879
#, gcc-internal-format
msgid "enum constant defined here"
msgstr ""
-#: c/c-typeck.c:2936 cp/typeck.c:1801
+#: c/c-typeck.c:2986 cp/typeck.c:1812
#, gcc-internal-format
msgid "%<sizeof%> on array function parameter %qE will return size of %qT"
msgstr ""
-#: c/c-typeck.c:3089
+#: c/c-typeck.c:3139
#, gcc-internal-format
msgid "called object %qE is not a function or function pointer"
msgstr ""
-#: c/c-typeck.c:3094
+#: c/c-typeck.c:3144
#, gcc-internal-format
msgid "called object %qD is not a function or function pointer"
msgstr ""
-#: c/c-typeck.c:3100
+#: c/c-typeck.c:3150
#, gcc-internal-format
msgid "called object is not a function or function pointer"
msgstr ""
@@ -45975,1665 +46002,1665 @@ 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.c:3130
+#: c/c-typeck.c:3180
#, gcc-internal-format
msgid "function called through a non-compatible type"
msgstr ""
-#: c/c-typeck.c:3135 c/c-typeck.c:3187
+#: c/c-typeck.c:3185 c/c-typeck.c:3237
#, gcc-internal-format
msgid "function with qualified void return type called"
msgstr ""
-#: c/c-typeck.c:3242
+#: c/c-typeck.c:3292
#, gcc-internal-format, gfc-internal-format
msgid "type of formal parameter %d is incomplete"
msgstr ""
-#: c/c-typeck.c:3256
+#: c/c-typeck.c:3306
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as integer rather than floating due to prototype"
msgstr ""
-#: c/c-typeck.c:3262
+#: c/c-typeck.c:3312
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as integer rather than complex due to prototype"
msgstr ""
-#: c/c-typeck.c:3268
+#: c/c-typeck.c:3318
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as complex rather than floating due to prototype"
msgstr ""
-#: c/c-typeck.c:3274
+#: c/c-typeck.c:3324
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as floating rather than integer due to prototype"
msgstr ""
-#: c/c-typeck.c:3280
+#: c/c-typeck.c:3330
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as complex rather than integer due to prototype"
msgstr ""
-#: c/c-typeck.c:3286
+#: c/c-typeck.c:3336
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as floating rather than complex due to prototype"
msgstr ""
-#: c/c-typeck.c:3300
+#: c/c-typeck.c:3350
#, gcc-internal-format
msgid ""
"passing argument %d of %qE as %<float%> rather than %<double%> due to "
"prototype"
msgstr ""
-#: c/c-typeck.c:3326
+#: c/c-typeck.c:3376
#, gcc-internal-format
msgid "passing argument %d of %qE as %qT rather than %qT due to prototype"
msgstr ""
-#: c/c-typeck.c:3351
+#: c/c-typeck.c:3401
#, gcc-internal-format
msgid "passing argument %d of %qE with different width due to prototype"
msgstr ""
-#: c/c-typeck.c:3375
+#: c/c-typeck.c:3425
#, gcc-internal-format
msgid "passing argument %d of %qE as unsigned due to prototype"
msgstr ""
-#: c/c-typeck.c:3380
+#: c/c-typeck.c:3430
#, gcc-internal-format
msgid "passing argument %d of %qE as signed due to prototype"
msgstr ""
-#: c/c-typeck.c:3533
+#: c/c-typeck.c:3583
#, gcc-internal-format
msgid "too many arguments to method %qE"
msgstr ""
-#: c/c-typeck.c:3543
+#: c/c-typeck.c:3593
#, gcc-internal-format
msgid "too many arguments to built-in function %qE expecting %d"
msgstr ""
-#: c/c-typeck.c:3615
+#: c/c-typeck.c:3665
#, gcc-internal-format
msgid "implicit conversion from %qT to %qT when passing argument to function"
msgstr ""
-#: c/c-typeck.c:3683
+#: c/c-typeck.c:3733
#, gcc-internal-format
msgid "too few arguments to built-in function %qE expecting %u"
msgstr ""
-#: c/c-typeck.c:3858 c/c-typeck.c:3886 cp/typeck.c:5119 cp/typeck.c:5388
+#: c/c-typeck.c:3908 c/c-typeck.c:3936 cp/typeck.c:5130 cp/typeck.c:5399
#, gcc-internal-format
msgid "comparison with string literal results in unspecified behavior"
msgstr ""
-#: c/c-typeck.c:3866 c/c-typeck.c:3877 cp/typeck.c:5146 cp/typeck.c:5170
+#: c/c-typeck.c:3916 c/c-typeck.c:3927 cp/typeck.c:5157 cp/typeck.c:5181
#, gcc-internal-format
msgid "comparison between pointer and zero character constant"
msgstr ""
-#: c/c-typeck.c:3869 c/c-typeck.c:3880 cp/typeck.c:5149 cp/typeck.c:5173
+#: c/c-typeck.c:3919 c/c-typeck.c:3930 cp/typeck.c:5160 cp/typeck.c:5184
#, gcc-internal-format
msgid "did you mean to dereference the pointer?"
msgstr ""
-#: c/c-typeck.c:3900
+#: c/c-typeck.c:3950
#, gcc-internal-format
msgid "comparison between %qT and %qT"
msgstr ""
-#: c/c-typeck.c:3951
+#: c/c-typeck.c:4001
#, gcc-internal-format
msgid "pointer of type %<void *%> used in subtraction"
msgstr ""
-#: c/c-typeck.c:3954
+#: c/c-typeck.c:4004
#, gcc-internal-format
msgid "pointer to a function used in subtraction"
msgstr ""
-#: c/c-typeck.c:3988
+#: c/c-typeck.c:4038
#, gcc-internal-format
msgid "arithmetic on pointer to an incomplete type"
msgstr ""
-#: c/c-typeck.c:3997 cp/typeck.c:6086
+#: c/c-typeck.c:4047 cp/typeck.c:6097
#, gcc-internal-format
msgid "arithmetic on pointer to an empty aggregate"
msgstr ""
-#: c/c-typeck.c:4430
+#: c/c-typeck.c:4490
#, gcc-internal-format
msgid "%<~%> on a boolean expression"
msgstr ""
-#: c/c-typeck.c:4434
+#: c/c-typeck.c:4494
#, gcc-internal-format
msgid "did you mean to use logical not?"
msgstr ""
-#: c/c-typeck.c:4444
+#: c/c-typeck.c:4504
#, gcc-internal-format
msgid "ISO C does not support %<~%> for complex conjugation"
msgstr ""
-#: c/c-typeck.c:4468
+#: c/c-typeck.c:4528
#, gcc-internal-format
msgid "wrong type argument to absu"
msgstr ""
-#: c/c-typeck.c:4493
+#: c/c-typeck.c:4553
#, gcc-internal-format
msgid "wrong type argument to unary exclamation mark"
msgstr ""
-#: c/c-typeck.c:4551
+#: c/c-typeck.c:4611
#, gcc-internal-format
msgid "increment of enumeration value is invalid in C++"
msgstr ""
-#: c/c-typeck.c:4554
+#: c/c-typeck.c:4614
#, gcc-internal-format
msgid "decrement of enumeration value is invalid in C++"
msgstr ""
-#: c/c-typeck.c:4561
+#: c/c-typeck.c:4621
#, gcc-internal-format
msgid "increment of a boolean expression"
msgstr ""
-#: c/c-typeck.c:4564
+#: c/c-typeck.c:4624
#, gcc-internal-format
msgid "decrement of a boolean expression"
msgstr ""
-#: c/c-typeck.c:4580
+#: c/c-typeck.c:4640
#, gcc-internal-format
msgid "ISO C does not support %<++%> and %<--%> on complex types"
msgstr ""
-#: c/c-typeck.c:4606 c/c-typeck.c:4640
+#: c/c-typeck.c:4666 c/c-typeck.c:4700
#, gcc-internal-format
msgid "wrong type argument to increment"
msgstr ""
-#: c/c-typeck.c:4608 c/c-typeck.c:4643
+#: c/c-typeck.c:4668 c/c-typeck.c:4703
#, gcc-internal-format
msgid "wrong type argument to decrement"
msgstr ""
-#: c/c-typeck.c:4628
+#: c/c-typeck.c:4688
#, gcc-internal-format
msgid "increment of pointer to an incomplete type %qT"
msgstr ""
-#: c/c-typeck.c:4632
+#: c/c-typeck.c:4692
#, gcc-internal-format
msgid "decrement of pointer to an incomplete type %qT"
msgstr ""
-#: c/c-typeck.c:4739
+#: c/c-typeck.c:4799
#, gcc-internal-format
msgid "taking address of expression of type %<void%>"
msgstr ""
-#: c/c-typeck.c:4798
+#: c/c-typeck.c:4858
#, gcc-internal-format
msgid "cannot take address of bit-field %qD"
msgstr ""
-#: c/c-typeck.c:4811
+#: c/c-typeck.c:4871
#, gcc-internal-format
msgid "cannot take address of scalar with reverse storage order"
msgstr ""
-#: c/c-typeck.c:4819
+#: c/c-typeck.c:4879
#, gcc-internal-format
msgid "address of array with reverse scalar storage order requested"
msgstr ""
-#: c/c-typeck.c:5004
+#: c/c-typeck.c:5064
#, gcc-internal-format
msgid "global register variable %qD used in nested function"
msgstr ""
-#: c/c-typeck.c:5007
+#: c/c-typeck.c:5067
#, gcc-internal-format
msgid "register variable %qD used in nested function"
msgstr ""
-#: c/c-typeck.c:5012
+#: c/c-typeck.c:5072
#, gcc-internal-format
msgid "address of global register variable %qD requested"
msgstr ""
-#: c/c-typeck.c:5014
+#: c/c-typeck.c:5074
#, gcc-internal-format
msgid "address of register variable %qD requested"
msgstr ""
-#: c/c-typeck.c:5153
+#: c/c-typeck.c:5213
#, gcc-internal-format
msgid "non-lvalue array in conditional expression"
msgstr ""
-#: c/c-typeck.c:5235
+#: c/c-typeck.c:5295
#, gcc-internal-format
msgid ""
"implicit conversion from %qT to %qT to match other result of conditional"
msgstr ""
-#: c/c-typeck.c:5294 c/c-typeck.c:5300
+#: c/c-typeck.c:5354 c/c-typeck.c:5360
#, gcc-internal-format
msgid ""
"operand of %<?:%> changes signedness from %qT to %qT due to unsignedness of "
"other operand"
msgstr ""
-#: c/c-typeck.c:5317
+#: c/c-typeck.c:5377
#, gcc-internal-format
msgid "ISO C forbids conditional expr with only one void side"
msgstr ""
-#: c/c-typeck.c:5334
+#: c/c-typeck.c:5394
#, gcc-internal-format
msgid "pointers to disjoint address spaces used in conditional expression"
msgstr ""
-#: c/c-typeck.c:5345 c/c-typeck.c:5362
+#: c/c-typeck.c:5405 c/c-typeck.c:5422
#, gcc-internal-format
msgid "pointer to array loses qualifier in conditional expression"
msgstr ""
-#: c/c-typeck.c:5350 c/c-typeck.c:5367
+#: c/c-typeck.c:5410 c/c-typeck.c:5427
#, gcc-internal-format
msgid "ISO C forbids conditional expr between %<void *%> and function pointer"
msgstr ""
-#: c/c-typeck.c:5380
+#: c/c-typeck.c:5440
#, gcc-internal-format
msgid ""
"pointer type mismatch between %qT and %qT of %qD and %qD in conditional "
"expression"
msgstr ""
-#: c/c-typeck.c:5385
+#: c/c-typeck.c:5445
#, gcc-internal-format
msgid "pointer type mismatch in conditional expression"
msgstr ""
-#: c/c-typeck.c:5394 c/c-typeck.c:5405
+#: c/c-typeck.c:5454 c/c-typeck.c:5465
#, gcc-internal-format
msgid "pointer/integer type mismatch in conditional expression"
msgstr ""
-#: c/c-typeck.c:5419
+#: c/c-typeck.c:5479
#, gcc-internal-format
msgid "type mismatch in conditional expression"
msgstr ""
-#: c/c-typeck.c:5534
+#: c/c-typeck.c:5594
#, gcc-internal-format
msgid "ignoring return value of %qD, declared with attribute %<nodiscard%>: %E"
msgstr ""
-#: c/c-typeck.c:5538
+#: c/c-typeck.c:5598
#, gcc-internal-format
msgid "ignoring return value of %qD, declared with attribute %<nodiscard%>"
msgstr ""
-#: c/c-typeck.c:5556
+#: c/c-typeck.c:5616
#, gcc-internal-format
msgid ""
"ignoring return value of type %qT, declared with attribute %<nodiscard%>: %E"
msgstr ""
-#: c/c-typeck.c:5561
+#: c/c-typeck.c:5621
#, gcc-internal-format
msgid ""
"ignoring return value of type %qT, declared with attribute %<nodiscard%>"
msgstr ""
-#: c/c-typeck.c:5570 cp/cvt.c:1098
+#: c/c-typeck.c:5630 cp/cvt.c:1098
#, gcc-internal-format
msgid "in call to %qD, declared here"
msgstr ""
-#: c/c-typeck.c:5619
+#: c/c-typeck.c:5679
#, gcc-internal-format
msgid "left-hand operand of comma expression has no effect"
msgstr ""
-#: c/c-typeck.c:5637 c/c-typeck.c:11178
+#: c/c-typeck.c:5697 c/c-typeck.c:11238
#, gcc-internal-format
msgid "right-hand operand of comma expression has no effect"
msgstr ""
-#: c/c-typeck.c:5708
+#: c/c-typeck.c:5768
msgid "cast adds %q#v qualifier to function type"
msgstr ""
-#: c/c-typeck.c:5714
+#: c/c-typeck.c:5774
msgid "cast discards %qv qualifier from pointer target type"
msgstr ""
-#: c/c-typeck.c:5749
+#: c/c-typeck.c:5809
#, gcc-internal-format
msgid ""
"to be safe all intermediate pointers in cast from %qT to %qT must be %<const"
"%> qualified"
msgstr ""
-#: c/c-typeck.c:5843
+#: c/c-typeck.c:5903
#, gcc-internal-format
msgid "cast specifies array type"
msgstr ""
-#: c/c-typeck.c:5849
+#: c/c-typeck.c:5909
#, gcc-internal-format
msgid "cast specifies function type"
msgstr ""
-#: c/c-typeck.c:5864
+#: c/c-typeck.c:5924
#, gcc-internal-format
msgid "ISO C forbids casting nonscalar to the same type"
msgstr ""
-#: c/c-typeck.c:5884
+#: c/c-typeck.c:5944
#, gcc-internal-format
msgid "ISO C forbids casts to union type"
msgstr ""
-#: c/c-typeck.c:5894
+#: c/c-typeck.c:5954
#, gcc-internal-format
msgid "cast to union type from type not present in union"
msgstr ""
-#: c/c-typeck.c:5929
+#: c/c-typeck.c:5989
#, gcc-internal-format, gfc-internal-format
msgid ""
"cast to %s address space pointer from disjoint generic address space pointer"
msgstr ""
-#: c/c-typeck.c:5934
+#: c/c-typeck.c:5994
#, gcc-internal-format, gfc-internal-format
msgid ""
"cast to generic address space pointer from disjoint %s address space pointer"
msgstr ""
-#: c/c-typeck.c:5939
+#: c/c-typeck.c:5999
#, gcc-internal-format, gfc-internal-format
msgid "cast to %s address space pointer from disjoint %s address space pointer"
msgstr ""
-#: c/c-typeck.c:5959
+#: c/c-typeck.c:6019
#, gcc-internal-format
msgid "cast increases required alignment of target type"
msgstr ""
-#: c/c-typeck.c:5970
+#: c/c-typeck.c:6030
#, gcc-internal-format
msgid "cast from pointer to integer of different size"
msgstr ""
-#: c/c-typeck.c:5975
+#: c/c-typeck.c:6035
#, gcc-internal-format
msgid "cast from function call of type %qT to non-matching type %qT"
msgstr ""
-#: c/c-typeck.c:5984 cp/typeck.c:8438
+#: c/c-typeck.c:6044 cp/typeck.c:8445
#, gcc-internal-format
msgid "cast to pointer from integer of different size"
msgstr ""
-#: c/c-typeck.c:5998
+#: c/c-typeck.c:6058
#, gcc-internal-format
msgid "ISO C forbids conversion of function pointer to object pointer type"
msgstr ""
-#: c/c-typeck.c:6007
+#: c/c-typeck.c:6067
#, gcc-internal-format
msgid "ISO C forbids conversion of object pointer to function pointer type"
msgstr ""
-#: c/c-typeck.c:6017
+#: c/c-typeck.c:6077
#, gcc-internal-format
msgid "cast between incompatible function types from %qT to %qT"
msgstr ""
-#: c/c-typeck.c:6112
+#: c/c-typeck.c:6172
#, gcc-internal-format
msgid "defining a type in a cast is invalid in C++"
msgstr ""
-#: c/c-typeck.c:6153
+#: c/c-typeck.c:6213
#, gcc-internal-format
msgid "assignment to expression with array type"
msgstr ""
-#: c/c-typeck.c:6279
+#: c/c-typeck.c:6339
#, gcc-internal-format
msgid "enum conversion in assignment is invalid in C++"
msgstr ""
-#: c/c-typeck.c:6481 c/c-typeck.c:6503 c/c-typeck.c:6529
+#: c/c-typeck.c:6541 c/c-typeck.c:6563 c/c-typeck.c:6589
#, gcc-internal-format
msgid "(near initialization for %qs)"
msgstr ""
-#: c/c-typeck.c:6544
+#: c/c-typeck.c:6604
#, gcc-internal-format
msgid "array initialized from parenthesized string constant"
msgstr ""
-#: c/c-typeck.c:6587 c/c-typeck.c:6833
+#: c/c-typeck.c:6647 c/c-typeck.c:6893
#, gcc-internal-format
msgid "expected %qT but argument is of type %qT"
msgstr ""
-#: c/c-typeck.c:6621
+#: c/c-typeck.c:6681
#, 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.c:6624
+#: c/c-typeck.c:6684
#, 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.c:6629
+#: c/c-typeck.c:6689
#, gcc-internal-format
msgid "built-in %qD declared here"
msgstr ""
-#: c/c-typeck.c:6828
+#: c/c-typeck.c:6888
#, gcc-internal-format
msgid "enum conversion when passing argument %d of %qE is invalid in C++"
msgstr ""
-#: c/c-typeck.c:6837
+#: c/c-typeck.c:6897
#, gcc-internal-format
msgid "enum conversion from %qT to %qT in assignment is invalid in C++"
msgstr ""
-#: c/c-typeck.c:6841
+#: c/c-typeck.c:6901
#, gcc-internal-format
msgid "enum conversion from %qT to %qT in initialization is invalid in C++"
msgstr ""
-#: c/c-typeck.c:6846
+#: c/c-typeck.c:6906
#, gcc-internal-format
msgid "enum conversion from %qT to %qT in return is invalid in C++"
msgstr ""
-#: c/c-typeck.c:6864
+#: c/c-typeck.c:6924
#, gcc-internal-format
msgid "implicit conversion from %qT to %qT"
msgstr ""
-#: c/c-typeck.c:7042 c/c-typeck.c:7397
+#: c/c-typeck.c:7102 c/c-typeck.c:7457
msgid ""
"passing argument %d of %qE makes %q#v qualified function pointer from "
"unqualified"
msgstr ""
-#: c/c-typeck.c:7045 c/c-typeck.c:7400
+#: c/c-typeck.c:7105 c/c-typeck.c:7460
msgid "assignment makes %q#v qualified function pointer from unqualified"
msgstr ""
-#: c/c-typeck.c:7048 c/c-typeck.c:7402
+#: c/c-typeck.c:7108 c/c-typeck.c:7462
msgid "initialization makes %q#v qualified function pointer from unqualified"
msgstr ""
-#: c/c-typeck.c:7051 c/c-typeck.c:7404
+#: c/c-typeck.c:7111 c/c-typeck.c:7464
msgid "return makes %q#v qualified function pointer from unqualified"
msgstr ""
-#: c/c-typeck.c:7059 c/c-typeck.c:7292 c/c-typeck.c:7335
+#: c/c-typeck.c:7119 c/c-typeck.c:7352 c/c-typeck.c:7395
msgid ""
"passing argument %d of %qE discards %qv qualifier from pointer target type"
msgstr ""
-#: c/c-typeck.c:7061 c/c-typeck.c:7294 c/c-typeck.c:7337
+#: c/c-typeck.c:7121 c/c-typeck.c:7354 c/c-typeck.c:7397
msgid "assignment discards %qv qualifier from pointer target type"
msgstr ""
-#: c/c-typeck.c:7063 c/c-typeck.c:7296 c/c-typeck.c:7339
+#: c/c-typeck.c:7123 c/c-typeck.c:7356 c/c-typeck.c:7399
msgid "initialization discards %qv qualifier from pointer target type"
msgstr ""
-#: c/c-typeck.c:7065 c/c-typeck.c:7298 c/c-typeck.c:7341
+#: c/c-typeck.c:7125 c/c-typeck.c:7358 c/c-typeck.c:7401
msgid "return discards %qv qualifier from pointer target type"
msgstr ""
-#: c/c-typeck.c:7074
+#: c/c-typeck.c:7134
#, gcc-internal-format
msgid "ISO C prohibits argument conversion to union type"
msgstr ""
-#: c/c-typeck.c:7142
+#: c/c-typeck.c:7202
#, gcc-internal-format
msgid "request for implicit conversion from %qT to %qT not permitted in C++"
msgstr ""
-#: c/c-typeck.c:7155
+#: c/c-typeck.c:7215
#, gcc-internal-format
msgid "passing argument %d of %qE from pointer to non-enclosed address space"
msgstr ""
-#: c/c-typeck.c:7165
+#: c/c-typeck.c:7225
#, gcc-internal-format
msgid "assignment from pointer to non-enclosed address space"
msgstr ""
-#: c/c-typeck.c:7175
+#: c/c-typeck.c:7235
#, gcc-internal-format
msgid "initialization from pointer to non-enclosed address space"
msgstr ""
-#: c/c-typeck.c:7185
+#: c/c-typeck.c:7245
#, gcc-internal-format
msgid "return from pointer to non-enclosed address space"
msgstr ""
-#: c/c-typeck.c:7208
+#: c/c-typeck.c:7268
#, gcc-internal-format
msgid "argument %d of %qE might be a candidate for a format attribute"
msgstr ""
-#: c/c-typeck.c:7214
+#: c/c-typeck.c:7274
#, gcc-internal-format
msgid "assignment left-hand side might be a candidate for a format attribute"
msgstr ""
-#: c/c-typeck.c:7219
+#: c/c-typeck.c:7279
#, gcc-internal-format
msgid ""
"initialization left-hand side might be a candidate for a format attribute"
msgstr ""
-#: c/c-typeck.c:7224 cp/typeck.c:9547
+#: c/c-typeck.c:7284 cp/typeck.c:9554
#, gcc-internal-format
msgid "return type might be a candidate for a format attribute"
msgstr ""
-#: c/c-typeck.c:7245
+#: c/c-typeck.c:7305
#, gcc-internal-format
msgid "passing argument %d of %qE from incompatible scalar storage order"
msgstr ""
-#: c/c-typeck.c:7250
+#: c/c-typeck.c:7310
#, gcc-internal-format
msgid ""
"assignment to %qT from pointer type %qT with incompatible scalar storage "
"order"
msgstr ""
-#: c/c-typeck.c:7255
+#: c/c-typeck.c:7315
#, gcc-internal-format
msgid ""
"initialization of %qT from pointer type %qT with incompatible scalar storage "
"order"
msgstr ""
-#: c/c-typeck.c:7260
+#: c/c-typeck.c:7320
#, gcc-internal-format
msgid ""
"returning %qT from pointer type with incompatible scalar storage order %qT"
msgstr ""
-#: c/c-typeck.c:7309
+#: c/c-typeck.c:7369
#, gcc-internal-format
msgid ""
"ISO C forbids passing argument %d of %qE between function pointer and %<void "
"*%>"
msgstr ""
-#: c/c-typeck.c:7312
+#: c/c-typeck.c:7372
#, gcc-internal-format
msgid "ISO C forbids assignment between function pointer and %<void *%>"
msgstr ""
-#: c/c-typeck.c:7314
+#: c/c-typeck.c:7374
#, gcc-internal-format
msgid "ISO C forbids initialization between function pointer and %<void *%>"
msgstr ""
-#: c/c-typeck.c:7316
+#: c/c-typeck.c:7376
#, gcc-internal-format
msgid "ISO C forbids return between function pointer and %<void *%>"
msgstr ""
-#: c/c-typeck.c:7360
+#: c/c-typeck.c:7420
#, gcc-internal-format
msgid "pointer targets in passing argument %d of %qE differ in signedness"
msgstr ""
-#: c/c-typeck.c:7368
+#: c/c-typeck.c:7428
#, gcc-internal-format
msgid "pointer targets in assignment from %qT to %qT differ in signedness"
msgstr ""
-#: c/c-typeck.c:7373
+#: c/c-typeck.c:7433
#, gcc-internal-format
msgid "pointer targets in initialization of %qT from %qT differ in signedness"
msgstr ""
-#: c/c-typeck.c:7378
+#: c/c-typeck.c:7438
#, gcc-internal-format
msgid ""
"pointer targets in returning %qT from a function with return type %qT differ "
"in signedness"
msgstr ""
-#: c/c-typeck.c:7420
+#: c/c-typeck.c:7480
#, gcc-internal-format
msgid "passing argument %d of %qE from incompatible pointer type"
msgstr ""
-#: c/c-typeck.c:7428
+#: c/c-typeck.c:7488
#, gcc-internal-format
msgid "assignment to %qT from pointer to %qD with incompatible type %qT"
msgstr ""
-#: c/c-typeck.c:7433
+#: c/c-typeck.c:7493
#, gcc-internal-format
msgid "assignment to %qT from incompatible pointer type %qT"
msgstr ""
-#: c/c-typeck.c:7439
+#: c/c-typeck.c:7499
#, gcc-internal-format
msgid "initialization of %qT from pointer to %qD with incompatible type %qT"
msgstr ""
-#: c/c-typeck.c:7444
+#: c/c-typeck.c:7504
#, gcc-internal-format
msgid "initialization of %qT from incompatible pointer type %qT"
msgstr ""
-#: c/c-typeck.c:7451
+#: c/c-typeck.c:7511
#, gcc-internal-format
msgid ""
"returning pointer to %qD of type %qT from a function with incompatible type "
"%qT"
msgstr ""
-#: c/c-typeck.c:7456
+#: c/c-typeck.c:7516
#, gcc-internal-format
msgid "returning %qT from a function with incompatible return type %qT"
msgstr ""
-#: c/c-typeck.c:7495
+#: c/c-typeck.c:7555
#, gcc-internal-format
msgid "passing argument %d of %qE makes pointer from integer without a cast"
msgstr ""
-#: c/c-typeck.c:7502
+#: c/c-typeck.c:7562
#, gcc-internal-format
msgid "assignment to %qT from %qT makes pointer from integer without a cast"
msgstr ""
-#: c/c-typeck.c:7507
+#: c/c-typeck.c:7567
#, gcc-internal-format
msgid ""
"initialization of %qT from %qT makes pointer from integer without a cast"
msgstr ""
-#: c/c-typeck.c:7511
+#: c/c-typeck.c:7571
#, gcc-internal-format
msgid ""
"returning %qT from a function with return type %qT makes pointer from "
"integer without a cast"
msgstr ""
-#: c/c-typeck.c:7531
+#: c/c-typeck.c:7591
#, gcc-internal-format
msgid "passing argument %d of %qE makes integer from pointer without a cast"
msgstr ""
-#: c/c-typeck.c:7538
+#: c/c-typeck.c:7598
#, gcc-internal-format
msgid "assignment to %qT from %qT makes integer from pointer without a cast"
msgstr ""
-#: c/c-typeck.c:7543
+#: c/c-typeck.c:7603
#, gcc-internal-format
msgid ""
"initialization of %qT from %qT makes integer from pointer without a cast"
msgstr ""
-#: c/c-typeck.c:7547
+#: c/c-typeck.c:7607
#, gcc-internal-format
msgid ""
"returning %qT from a function with return type %qT makes integer from "
"pointer without a cast"
msgstr ""
-#: c/c-typeck.c:7574
+#: c/c-typeck.c:7634
#, gcc-internal-format
msgid "incompatible type for argument %d of %qE"
msgstr ""
-#: c/c-typeck.c:7585
+#: c/c-typeck.c:7645
#, gcc-internal-format
msgid "incompatible types when assigning to type %qT from type %qT"
msgstr ""
-#: c/c-typeck.c:7595
+#: c/c-typeck.c:7655
#, gcc-internal-format
msgid "incompatible types when initializing type %qT using type %qT"
msgstr ""
-#: c/c-typeck.c:7605
+#: c/c-typeck.c:7665
#, gcc-internal-format
msgid "incompatible types when returning type %qT but %qT was expected"
msgstr ""
-#: c/c-typeck.c:7673
+#: c/c-typeck.c:7733
#, gcc-internal-format
msgid "traditional C rejects automatic aggregate initialization"
msgstr ""
-#: c/c-typeck.c:7913 c/c-typeck.c:8807 cp/typeck2.c:1082
+#: c/c-typeck.c:7973 c/c-typeck.c:8867 cp/typeck2.c:1082
#, gcc-internal-format
msgid "initialization of a flexible array member"
msgstr ""
-#: c/c-typeck.c:7929 cp/typeck2.c:1099
+#: c/c-typeck.c:7989 cp/typeck2.c:1099
#, gcc-internal-format
msgid ""
"cannot initialize array of %qT from a string literal with type array of %qT"
msgstr ""
-#: c/c-typeck.c:7969
+#: c/c-typeck.c:8029
#, gcc-internal-format
msgid "array of inappropriate type initialized from string constant"
msgstr ""
-#: c/c-typeck.c:8037 cp/typeck.c:2182
+#: c/c-typeck.c:8097 cp/typeck.c:2193
#, gcc-internal-format
msgid "invalid use of non-lvalue array"
msgstr ""
-#: c/c-typeck.c:8056 c/c-typeck.c:8080 c/c-typeck.c:8083 c/c-typeck.c:8091
-#: c/c-typeck.c:8131 c/c-typeck.c:9660 c/c-typeck.c:9710
+#: c/c-typeck.c:8116 c/c-typeck.c:8140 c/c-typeck.c:8143 c/c-typeck.c:8151
+#: c/c-typeck.c:8191 c/c-typeck.c:9720 c/c-typeck.c:9770
#, gcc-internal-format
msgid "initializer element is not constant"
msgstr ""
-#: c/c-typeck.c:8065
+#: c/c-typeck.c:8125
#, gcc-internal-format
msgid "array initialized from non-constant array expression"
msgstr ""
-#: c/c-typeck.c:8096 c/c-typeck.c:8144 c/c-typeck.c:9720
+#: c/c-typeck.c:8156 c/c-typeck.c:8204 c/c-typeck.c:9780
#, gcc-internal-format
msgid "initializer element is not a constant expression"
msgstr ""
-#: c/c-typeck.c:8138 c/c-typeck.c:9715
+#: c/c-typeck.c:8198 c/c-typeck.c:9775
#, gcc-internal-format
msgid "initializer element is not computable at load time"
msgstr ""
-#: c/c-typeck.c:8157
+#: c/c-typeck.c:8217
#, gcc-internal-format
msgid "invalid initializer"
msgstr ""
-#: c/c-typeck.c:8435 cp/decl.c:6976
+#: c/c-typeck.c:8495 cp/decl.c:6972
#, gcc-internal-format
msgid "opaque vector types cannot be initialized"
msgstr ""
-#: c/c-typeck.c:8655
+#: c/c-typeck.c:8715
#, gcc-internal-format
msgid "extra brace group at end of initializer"
msgstr ""
-#: c/c-typeck.c:8738
+#: c/c-typeck.c:8798
#, gcc-internal-format
msgid "braces around scalar initializer"
msgstr ""
-#: c/c-typeck.c:8804 c/c-typeck.c:10243 cp/typeck2.c:1109 cp/typeck2.c:1367
+#: c/c-typeck.c:8864 c/c-typeck.c:10303 cp/typeck2.c:1109 cp/typeck2.c:1364
#, gcc-internal-format
msgid "initialization of flexible array member in a nested context"
msgstr ""
-#: c/c-typeck.c:8841
+#: c/c-typeck.c:8901
#, gcc-internal-format
msgid "missing braces around initializer"
msgstr ""
-#: c/c-typeck.c:8864
+#: c/c-typeck.c:8924
#, gcc-internal-format
msgid "missing initializer for field %qD of %qT"
msgstr ""
-#: c/c-typeck.c:8888
+#: c/c-typeck.c:8948
#, gcc-internal-format
msgid "empty scalar initializer"
msgstr ""
-#: c/c-typeck.c:8893
+#: c/c-typeck.c:8953
#, gcc-internal-format
msgid "extra elements in scalar initializer"
msgstr ""
-#: c/c-typeck.c:9012 c/c-typeck.c:9094
+#: c/c-typeck.c:9072 c/c-typeck.c:9154
#, gcc-internal-format
msgid "array index in non-array initializer"
msgstr ""
-#: c/c-typeck.c:9017 c/c-typeck.c:9156
+#: c/c-typeck.c:9077 c/c-typeck.c:9216
#, gcc-internal-format
msgid "field name not in record or union initializer"
msgstr ""
-#: c/c-typeck.c:9067
+#: c/c-typeck.c:9127
#, gcc-internal-format
msgid "array index in initializer not of integer type"
msgstr ""
-#: c/c-typeck.c:9076 c/c-typeck.c:9085
+#: c/c-typeck.c:9136 c/c-typeck.c:9145
#, gcc-internal-format
msgid "array index in initializer is not an integer constant expression"
msgstr ""
-#: c/c-typeck.c:9090 c/c-typeck.c:9092
+#: c/c-typeck.c:9150 c/c-typeck.c:9152
#, gcc-internal-format
msgid "nonconstant array index in initializer"
msgstr ""
-#: c/c-typeck.c:9096 c/c-typeck.c:9099
+#: c/c-typeck.c:9156 c/c-typeck.c:9159
#, gcc-internal-format
msgid "array index in initializer exceeds array bounds"
msgstr ""
-#: c/c-typeck.c:9118
+#: c/c-typeck.c:9178
#, gcc-internal-format
msgid "empty index range in initializer"
msgstr ""
-#: c/c-typeck.c:9127
+#: c/c-typeck.c:9187
#, gcc-internal-format
msgid "array index range in initializer exceeds array bounds"
msgstr ""
-#: c/c-typeck.c:9229 c/c-typeck.c:9259 c/c-typeck.c:9803
+#: c/c-typeck.c:9289 c/c-typeck.c:9319 c/c-typeck.c:9863
#, gcc-internal-format
msgid "initialized field with side-effects overwritten"
msgstr ""
-#: c/c-typeck.c:9233 c/c-typeck.c:9263 c/c-typeck.c:9806
+#: c/c-typeck.c:9293 c/c-typeck.c:9323 c/c-typeck.c:9866
#, gcc-internal-format
msgid "initialized field overwritten"
msgstr ""
-#: c/c-typeck.c:9737
+#: c/c-typeck.c:9797
#, gcc-internal-format
msgid "enum conversion in initialization is invalid in C++"
msgstr ""
-#: c/c-typeck.c:10118
+#: c/c-typeck.c:10178
#, gcc-internal-format
msgid "excess elements in %<char%> array initializer"
msgstr ""
-#: c/c-typeck.c:10125 c/c-typeck.c:10202
+#: c/c-typeck.c:10185 c/c-typeck.c:10262
#, gcc-internal-format
msgid "excess elements in struct initializer"
msgstr ""
-#: c/c-typeck.c:10146
+#: c/c-typeck.c:10206
#, gcc-internal-format
msgid ""
"positional initialization of field in %<struct%> declared with "
"%<designated_init%> attribute"
msgstr ""
-#: c/c-typeck.c:10217 cp/typeck2.c:1086
+#: c/c-typeck.c:10277 cp/typeck2.c:1086
#, gcc-internal-format
msgid "non-static initialization of a flexible array member"
msgstr ""
-#: c/c-typeck.c:10312
+#: c/c-typeck.c:10372
#, gcc-internal-format
msgid "excess elements in union initializer"
msgstr ""
-#: c/c-typeck.c:10334
+#: c/c-typeck.c:10394
#, gcc-internal-format
msgid "traditional C rejects initialization of unions"
msgstr ""
-#: c/c-typeck.c:10396
+#: c/c-typeck.c:10456
#, gcc-internal-format
msgid "excess elements in array initializer"
msgstr ""
-#: c/c-typeck.c:10430
+#: c/c-typeck.c:10490
#, gcc-internal-format
msgid "excess elements in vector initializer"
msgstr ""
-#: c/c-typeck.c:10462
+#: c/c-typeck.c:10522
#, gcc-internal-format
msgid "excess elements in scalar initializer"
msgstr ""
-#: c/c-typeck.c:10704
+#: c/c-typeck.c:10764
#, gcc-internal-format
msgid "ISO C forbids %<goto *expr;%>"
msgstr ""
-#: c/c-typeck.c:10731 c/gimple-parser.c:2404 cp/typeck.c:10039
+#: c/c-typeck.c:10791 c/gimple-parser.c:2404 cp/typeck.c:10046
#, gcc-internal-format
msgid "function declared %<noreturn%> has a %<return%> statement"
msgstr ""
-#: c/c-typeck.c:10759 c/c-typeck.c:10763
+#: c/c-typeck.c:10819 c/c-typeck.c:10823
#, gcc-internal-format
msgid "%<return%> with no value, in function returning non-void"
msgstr ""
-#: c/c-typeck.c:10777 c/gimple-parser.c:2414
+#: c/c-typeck.c:10837 c/gimple-parser.c:2414
#, gcc-internal-format
msgid "%<return%> with a value, in function returning void"
msgstr ""
-#: c/c-typeck.c:10780
+#: c/c-typeck.c:10840
#, gcc-internal-format
msgid "ISO C forbids %<return%> with expression, in function returning void"
msgstr ""
-#: c/c-typeck.c:10857
+#: c/c-typeck.c:10917
#, gcc-internal-format
msgid "function returns address of label"
msgstr ""
-#: c/c-typeck.c:10947 cp/semantics.c:1420
+#: c/c-typeck.c:11007 cp/semantics.c:1439
#, gcc-internal-format
msgid "switch quantity not an integer"
msgstr ""
-#: c/c-typeck.c:10972
+#: c/c-typeck.c:11032
#, gcc-internal-format
msgid "%<long%> switch expression not converted to %<int%> in ISO C"
msgstr ""
-#: c/c-typeck.c:11010 c/c-typeck.c:11018
+#: c/c-typeck.c:11070 c/c-typeck.c:11078
#, gcc-internal-format
msgid "case label is not an integer constant expression"
msgstr ""
-#: c/c-typeck.c:11024 cp/parser.c:11953
+#: c/c-typeck.c:11084 cp/parser.c:11974
#, gcc-internal-format
msgid "case label not within a switch statement"
msgstr ""
-#: c/c-typeck.c:11026
+#: c/c-typeck.c:11086
#, gcc-internal-format
msgid "%<default%> label not within a switch statement"
msgstr ""
-#: c/c-typeck.c:11102 cp/parser.c:13452
+#: c/c-typeck.c:11162 cp/parser.c:13476
#, gcc-internal-format
msgid "break statement not within loop or switch"
msgstr ""
-#: c/c-typeck.c:11105 c/c-typeck.c:11125 cp/decl.c:3661 cp/parser.c:13462
-#: cp/parser.c:13483
+#: c/c-typeck.c:11165 c/c-typeck.c:11185 cp/decl.c:3643 cp/parser.c:13486
+#: cp/parser.c:13507
#, gcc-internal-format
msgid "invalid exit from OpenMP structured block"
msgstr ""
-#: c/c-typeck.c:11108 cp/parser.c:13465
+#: c/c-typeck.c:11168 cp/parser.c:13489
#, gcc-internal-format
msgid "break statement used with OpenMP for loop"
msgstr ""
-#: c/c-typeck.c:11122 cp/parser.c:13475
+#: c/c-typeck.c:11182 cp/parser.c:13499
#, gcc-internal-format
msgid "continue statement not within a loop"
msgstr ""
-#: c/c-typeck.c:11160 cp/cp-gimplify.c:218
+#: c/c-typeck.c:11220 cp/cp-gimplify.c:218
#, gcc-internal-format
msgid "statement with no effect"
msgstr ""
-#: c/c-typeck.c:11204
+#: c/c-typeck.c:11264
#, gcc-internal-format
msgid "expression statement has incomplete type"
msgstr ""
-#: c/c-typeck.c:12038 c/c-typeck.c:12206 cp/typeck.c:5402
+#: c/c-typeck.c:12098 c/c-typeck.c:12266 cp/typeck.c:5413
#, gcc-internal-format
msgid "comparing vectors with different element types"
msgstr ""
-#: c/c-typeck.c:12046 c/c-typeck.c:12214 cp/typeck.c:5415
+#: c/c-typeck.c:12106 c/c-typeck.c:12274 cp/typeck.c:5426
#, gcc-internal-format
msgid "comparing vectors with different number of elements"
msgstr ""
-#: c/c-typeck.c:12071 c/c-typeck.c:12239 cp/typeck.c:5450
+#: c/c-typeck.c:12131 c/c-typeck.c:12299 cp/typeck.c:5461
#, gcc-internal-format
msgid "could not find an integer type of the same size as %qT"
msgstr ""
-#: c/c-typeck.c:12085 cp/typeck.c:5108
+#: c/c-typeck.c:12145 cp/typeck.c:5119
#, gcc-internal-format
msgid "comparing floating-point with %<==%> or %<!=%> is unsafe"
msgstr ""
-#: c/c-typeck.c:12103 c/c-typeck.c:12124
+#: c/c-typeck.c:12163 c/c-typeck.c:12184
#, gcc-internal-format
msgid ""
"the comparison will always evaluate as %<false%> for the address of %qD will "
"never be NULL"
msgstr ""
-#: c/c-typeck.c:12109 c/c-typeck.c:12130
+#: c/c-typeck.c:12169 c/c-typeck.c:12190
#, gcc-internal-format
msgid ""
"the comparison will always evaluate as %<true%> for the address of %qD will "
"never be NULL"
msgstr ""
-#: c/c-typeck.c:12151 c/c-typeck.c:12280
+#: c/c-typeck.c:12211 c/c-typeck.c:12340
#, gcc-internal-format
msgid "comparison of pointers to disjoint address spaces"
msgstr ""
-#: c/c-typeck.c:12158 c/c-typeck.c:12164
+#: c/c-typeck.c:12218 c/c-typeck.c:12224
#, gcc-internal-format
msgid "ISO C forbids comparison of %<void *%> with function pointer"
msgstr ""
-#: c/c-typeck.c:12171 c/c-typeck.c:12290
+#: c/c-typeck.c:12231 c/c-typeck.c:12350
#, gcc-internal-format
msgid "comparison of distinct pointer types lacks a cast"
msgstr ""
-#: c/c-typeck.c:12183 c/c-typeck.c:12188 c/c-typeck.c:12316 c/c-typeck.c:12321
+#: c/c-typeck.c:12243 c/c-typeck.c:12248 c/c-typeck.c:12376 c/c-typeck.c:12381
#, gcc-internal-format
msgid "comparison between pointer and integer"
msgstr ""
-#: c/c-typeck.c:12268
+#: c/c-typeck.c:12328
#, gcc-internal-format
msgid "comparison of complete and incomplete pointers"
msgstr ""
-#: c/c-typeck.c:12270
+#: c/c-typeck.c:12330
#, gcc-internal-format
msgid "ISO C forbids ordered comparisons of pointers to functions"
msgstr ""
-#: c/c-typeck.c:12275
+#: c/c-typeck.c:12335
#, gcc-internal-format
msgid "ordered comparison of pointer with null pointer"
msgstr ""
-#: c/c-typeck.c:12298 c/c-typeck.c:12301 c/c-typeck.c:12308 c/c-typeck.c:12311
+#: c/c-typeck.c:12358 c/c-typeck.c:12361 c/c-typeck.c:12368 c/c-typeck.c:12371
#, gcc-internal-format
msgid "ordered comparison of pointer with integer zero"
msgstr ""
-#: c/c-typeck.c:12380
+#: c/c-typeck.c:12440
#, gcc-internal-format
msgid ""
"implicit conversion from %qT to %qT to match other operand of binary "
"expression"
msgstr ""
-#: c/c-typeck.c:12695
+#: c/c-typeck.c:12755
#, gcc-internal-format
msgid "used array that cannot be converted to pointer where scalar is required"
msgstr ""
-#: c/c-typeck.c:12699
+#: c/c-typeck.c:12759
#, gcc-internal-format
msgid "used struct type value where scalar is required"
msgstr ""
-#: c/c-typeck.c:12703
+#: c/c-typeck.c:12763
#, gcc-internal-format
msgid "used union type value where scalar is required"
msgstr ""
-#: c/c-typeck.c:12719
+#: c/c-typeck.c:12779
#, gcc-internal-format
msgid "used vector type where scalar is required"
msgstr ""
-#: c/c-typeck.c:12909 cp/semantics.c:9869
+#: c/c-typeck.c:12969 cp/semantics.c:9897
#, gcc-internal-format
msgid ""
"%<#pragma omp cancel%> must specify one of %<parallel%>, %<for%>, %<sections"
"%> or %<taskgroup%> clauses"
msgstr ""
-#: c/c-typeck.c:12920 c/c-typeck.c:12930 cp/semantics.c:9880
-#: cp/semantics.c:9890
+#: c/c-typeck.c:12980 c/c-typeck.c:12990 cp/semantics.c:9908
+#: cp/semantics.c:9918
#, gcc-internal-format
msgid "expected %<cancel%> %<if%> clause modifier"
msgstr ""
-#: c/c-typeck.c:12965 cp/semantics.c:9925
+#: c/c-typeck.c:13025 cp/semantics.c:9953
#, gcc-internal-format
msgid ""
"%<#pragma omp cancellation point%> must specify one of %<parallel%>, %<for"
"%>, %<sections%> or %<taskgroup%> clauses"
msgstr ""
-#: c/c-typeck.c:13009 c/c-typeck.c:14596 c/c-typeck.c:14683 c/c-typeck.c:14756
+#: c/c-typeck.c:13069 c/c-typeck.c:14656 c/c-typeck.c:14743 c/c-typeck.c:14816
#, gcc-internal-format
msgid "%<_Atomic%> %qE in %qs clause"
msgstr ""
-#: c/c-typeck.c:13021 c/c-typeck.c:14528 c/c-typeck.c:14669 cp/semantics.c:4930
-#: cp/semantics.c:7473 cp/semantics.c:7667
+#: c/c-typeck.c:13081 c/c-typeck.c:14588 c/c-typeck.c:14729 cp/semantics.c:4958
+#: cp/semantics.c:7501 cp/semantics.c:7695
#, gcc-internal-format
msgid "bit-field %qE in %qs clause"
msgstr ""
-#: c/c-typeck.c:13030 c/c-typeck.c:14693 cp/semantics.c:4940
-#: cp/semantics.c:7686
+#: c/c-typeck.c:13090 c/c-typeck.c:14753 cp/semantics.c:4968
+#: cp/semantics.c:7714
#, gcc-internal-format
msgid "%qE is a member of a union"
msgstr ""
-#: c/c-typeck.c:13038 c/c-typeck.c:14702
+#: c/c-typeck.c:13098 c/c-typeck.c:14762
#, gcc-internal-format
msgid "cannot dereference %qE in %qs clause"
msgstr ""
-#: c/c-typeck.c:13049 cp/semantics.c:4956 cp/semantics.c:7715
+#: c/c-typeck.c:13109 cp/semantics.c:4984 cp/semantics.c:7743
#, gcc-internal-format
msgid "%qD is not a variable in %qs clause"
msgstr ""
-#: c/c-typeck.c:13053 c/c-typeck.c:14721 cp/semantics.c:4960
-#: cp/semantics.c:7719
+#: c/c-typeck.c:13113 c/c-typeck.c:14781 cp/semantics.c:4988
+#: cp/semantics.c:7747
#, gcc-internal-format
msgid "%qE is not a variable in %qs clause"
msgstr ""
-#: c/c-typeck.c:13060
+#: c/c-typeck.c:13120
#, gcc-internal-format
msgid "%<_Atomic%> %qD in %qs clause"
msgstr ""
-#: c/c-typeck.c:13069 c/c-typeck.c:14728 c/c-typeck.c:14846 cp/semantics.c:4978
-#: cp/semantics.c:7726 cp/semantics.c:7907
+#: c/c-typeck.c:13129 c/c-typeck.c:14788 c/c-typeck.c:14906 cp/semantics.c:5006
+#: cp/semantics.c:7754 cp/semantics.c:7935
#, gcc-internal-format
msgid "%qD is threadprivate variable in %qs clause"
msgstr ""
-#: c/c-typeck.c:13105 cp/semantics.c:5012
+#: c/c-typeck.c:13165 cp/semantics.c:5040
#, gcc-internal-format
msgid "low bound %qE of array section does not have integral type"
msgstr ""
-#: c/c-typeck.c:13112 cp/semantics.c:5019
+#: c/c-typeck.c:13172 cp/semantics.c:5047
#, gcc-internal-format
msgid "length %qE of array section does not have integral type"
msgstr ""
-#: c/c-typeck.c:13135 cp/semantics.c:5052
+#: c/c-typeck.c:13195 cp/semantics.c:5080
#, gcc-internal-format
msgid "expected single pointer in %qs clause"
msgstr ""
-#: c/c-typeck.c:13152 c/c-typeck.c:13218 c/c-typeck.c:13495 cp/semantics.c:5069
-#: cp/semantics.c:5135
+#: c/c-typeck.c:13212 c/c-typeck.c:13278 c/c-typeck.c:13555 cp/semantics.c:5097
+#: cp/semantics.c:5163
#, gcc-internal-format
msgid "zero length array section in %qs clause"
msgstr ""
-#: c/c-typeck.c:13171 cp/semantics.c:5088
+#: c/c-typeck.c:13231 cp/semantics.c:5116
#, gcc-internal-format
msgid "for unknown bound array type length expression must be specified"
msgstr ""
-#: c/c-typeck.c:13179 cp/semantics.c:5096
+#: c/c-typeck.c:13239 cp/semantics.c:5124
#, gcc-internal-format
msgid "negative low bound in array section in %qs clause"
msgstr ""
-#: c/c-typeck.c:13188 c/c-typeck.c:13309 cp/semantics.c:5105
-#: cp/semantics.c:5226
+#: c/c-typeck.c:13248 c/c-typeck.c:13369 cp/semantics.c:5133
+#: cp/semantics.c:5254
#, gcc-internal-format
msgid "negative length in array section in %qs clause"
msgstr ""
-#: c/c-typeck.c:13205 cp/semantics.c:5122
+#: c/c-typeck.c:13265 cp/semantics.c:5150
#, gcc-internal-format
msgid "low bound %qE above array section size in %qs clause"
msgstr ""
-#: c/c-typeck.c:13246 cp/semantics.c:5163
+#: c/c-typeck.c:13306 cp/semantics.c:5191
#, gcc-internal-format
msgid "length %qE above array section size in %qs clause"
msgstr ""
-#: c/c-typeck.c:13261 cp/semantics.c:5178
+#: c/c-typeck.c:13321 cp/semantics.c:5206
#, gcc-internal-format
msgid "high bound %qE above array section size in %qs clause"
msgstr ""
-#: c/c-typeck.c:13297 cp/semantics.c:5214
+#: c/c-typeck.c:13357 cp/semantics.c:5242
#, gcc-internal-format
msgid "for array function parameter length expression must be specified"
msgstr ""
-#: c/c-typeck.c:13301 cp/semantics.c:5218
+#: c/c-typeck.c:13361 cp/semantics.c:5246
#, gcc-internal-format
msgid "for pointer type length expression must be specified"
msgstr ""
-#: c/c-typeck.c:13319 c/c-typeck.c:13434 cp/semantics.c:5236
-#: cp/semantics.c:5365
+#: c/c-typeck.c:13379 c/c-typeck.c:13494 cp/semantics.c:5264
+#: cp/semantics.c:5393
#, gcc-internal-format
msgid "array section is not contiguous in %qs clause"
msgstr ""
-#: c/c-typeck.c:13327 cp/semantics.c:5244
+#: c/c-typeck.c:13387 cp/semantics.c:5272
#, gcc-internal-format
msgid "%qE does not have pointer or array type"
msgstr ""
-#: c/c-typeck.c:13713 cp/semantics.c:6318
+#: c/c-typeck.c:13773 cp/semantics.c:6346
#, gcc-internal-format
msgid "iterator %qD has neither integral nor pointer type"
msgstr ""
-#: c/c-typeck.c:13720
+#: c/c-typeck.c:13780
#, gcc-internal-format
msgid "iterator %qD has %<_Atomic%> qualified type"
msgstr ""
-#: c/c-typeck.c:13726 cp/semantics.c:6325
+#: c/c-typeck.c:13786 cp/semantics.c:6353
#, gcc-internal-format
msgid "iterator %qD has const qualified type"
msgstr ""
-#: c/c-typeck.c:13739 cp/semantics.c:6341
+#: c/c-typeck.c:13799 cp/semantics.c:6369
#, gcc-internal-format
msgid "iterator step with non-integral type"
msgstr ""
-#: c/c-typeck.c:13759 cp/semantics.c:6377
+#: c/c-typeck.c:13819 cp/semantics.c:6405
#, gcc-internal-format
msgid "iterator %qD has zero step"
msgstr ""
-#: c/c-typeck.c:13786
+#: c/c-typeck.c:13846
#, gcc-internal-format
msgid "type of iterator %qD refers to outer iterator %qD"
msgstr ""
-#: c/c-typeck.c:13793 cp/semantics.c:6411
+#: c/c-typeck.c:13853 cp/semantics.c:6439
#, gcc-internal-format
msgid "begin expression refers to outer iterator %qD"
msgstr ""
-#: c/c-typeck.c:13799 cp/semantics.c:6417
+#: c/c-typeck.c:13859 cp/semantics.c:6445
#, gcc-internal-format
msgid "end expression refers to outer iterator %qD"
msgstr ""
-#: c/c-typeck.c:13805 cp/semantics.c:6423
+#: c/c-typeck.c:13865 cp/semantics.c:6451
#, gcc-internal-format
msgid "step expression refers to outer iterator %qD"
msgstr ""
-#: c/c-typeck.c:13842 cp/semantics.c:6471
+#: c/c-typeck.c:13902 cp/semantics.c:6499
#, gcc-internal-format
msgid "expected pointer in %qs clause"
msgstr ""
-#: c/c-typeck.c:13924 cp/semantics.c:6546
+#: c/c-typeck.c:13984 cp/semantics.c:6574
#, gcc-internal-format
msgid ""
"%<inscan%> and non-%<inscan%> %<reduction%> clauses on the same construct"
msgstr ""
-#: c/c-typeck.c:13946 cp/semantics.c:6566
+#: c/c-typeck.c:14006 cp/semantics.c:6594
#, gcc-internal-format
msgid "%<inscan%> %<reduction%> clause with array section"
msgstr ""
-#: c/c-typeck.c:13972 c/c-typeck.c:13982
+#: c/c-typeck.c:14032 c/c-typeck.c:14042
#, gcc-internal-format
msgid "%qD in %<reduction%> clause is a zero size array"
msgstr ""
-#: c/c-typeck.c:14002
+#: c/c-typeck.c:14062
#, gcc-internal-format
msgid "%<_Atomic%> %qE in %<reduction%> clause"
msgstr ""
-#: c/c-typeck.c:14014
+#: c/c-typeck.c:14074
#, gcc-internal-format
msgid "zero sized type %qT in %qs clause"
msgstr ""
-#: c/c-typeck.c:14022
+#: c/c-typeck.c:14082
#, gcc-internal-format
msgid "variable sized type %qT in %qs clause"
msgstr ""
-#: c/c-typeck.c:14072
+#: c/c-typeck.c:14132
#, gcc-internal-format
msgid "%qE has invalid type for %<reduction(%s)%>"
msgstr ""
-#: c/c-typeck.c:14081 cp/semantics.c:6210
+#: c/c-typeck.c:14141 cp/semantics.c:6238
#, gcc-internal-format
msgid "user defined reduction not found for %qE"
msgstr ""
-#: c/c-typeck.c:14169
+#: c/c-typeck.c:14229
#, gcc-internal-format
msgid "variable length element type in array %<reduction%> clause"
msgstr ""
-#: c/c-typeck.c:14187 c/c-typeck.c:14920 cp/semantics.c:8362
+#: c/c-typeck.c:14247 c/c-typeck.c:14980 cp/semantics.c:8390
#, gcc-internal-format
msgid "%<nowait%> clause must not be used together with %<copyprivate%>"
msgstr ""
-#: c/c-typeck.c:14199 cp/semantics.c:8430
+#: c/c-typeck.c:14259 cp/semantics.c:8458
#, gcc-internal-format
msgid "%qE must be %<threadprivate%> for %<copyin%>"
msgstr ""
-#: c/c-typeck.c:14213 cp/semantics.c:6607
+#: c/c-typeck.c:14273 cp/semantics.c:6635
#, gcc-internal-format
msgid ""
"modifier should not be specified in %<linear%> clause on %<simd%> or %<for%> "
"constructs"
msgstr ""
-#: c/c-typeck.c:14221
+#: c/c-typeck.c:14281
#, gcc-internal-format
msgid ""
"linear clause applied to non-integral non-pointer variable with type %qT"
msgstr ""
-#: c/c-typeck.c:14229
+#: c/c-typeck.c:14289
#, gcc-internal-format
msgid "%<_Atomic%> %qD in %<linear%> clause"
msgstr ""
-#: c/c-typeck.c:14248 cp/semantics.c:6681
+#: c/c-typeck.c:14308 cp/semantics.c:6709
#, gcc-internal-format
msgid "%<linear%> clause step %qE is neither constant nor a parameter"
msgstr ""
-#: c/c-typeck.c:14278 c/c-typeck.c:14839 c/c-typeck.c:15063 cp/semantics.c:6768
-#: cp/semantics.c:7900 cp/semantics.c:8198
+#: c/c-typeck.c:14338 c/c-typeck.c:14899 c/c-typeck.c:15123 cp/semantics.c:6796
+#: cp/semantics.c:7928 cp/semantics.c:8226
#, gcc-internal-format
msgid "%qE is not a variable in clause %qs"
msgstr ""
-#: c/c-typeck.c:14293 cp/semantics.c:6783
+#: c/c-typeck.c:14353 cp/semantics.c:6811
#, gcc-internal-format
msgid "%qD appears more than once in reduction clauses"
msgstr ""
-#: c/c-typeck.c:14306 c/c-typeck.c:14338 c/c-typeck.c:14369
+#: c/c-typeck.c:14366 c/c-typeck.c:14398 c/c-typeck.c:14429
#, gcc-internal-format
msgid "%qE appears more than once in data clauses"
msgstr ""
-#: c/c-typeck.c:14314 c/c-typeck.c:14345 c/c-typeck.c:14617 c/c-typeck.c:14767
-#: c/c-typeck.c:14774 c/c-typeck.c:14792 c/c-typeck.c:14802 c/c-typeck.c:14809
-#: cp/semantics.c:6796 cp/semantics.c:6804 cp/semantics.c:6861
-#: cp/semantics.c:6868 cp/semantics.c:6912 cp/semantics.c:7600
-#: cp/semantics.c:7777 cp/semantics.c:7784 cp/semantics.c:7801
-#: cp/semantics.c:7811 cp/semantics.c:7818
+#: c/c-typeck.c:14374 c/c-typeck.c:14405 c/c-typeck.c:14677 c/c-typeck.c:14827
+#: c/c-typeck.c:14834 c/c-typeck.c:14852 c/c-typeck.c:14862 c/c-typeck.c:14869
+#: cp/semantics.c:6824 cp/semantics.c:6832 cp/semantics.c:6889
+#: cp/semantics.c:6896 cp/semantics.c:6940 cp/semantics.c:7628
+#: cp/semantics.c:7805 cp/semantics.c:7812 cp/semantics.c:7829
+#: cp/semantics.c:7839 cp/semantics.c:7846
#, gcc-internal-format
msgid "%qD appears more than once in data clauses"
msgstr ""
-#: c/c-typeck.c:14317 c/c-typeck.c:14348 c/c-typeck.c:14777 c/c-typeck.c:14812
-#: cp/semantics.c:6807 cp/semantics.c:6871 cp/semantics.c:7787
-#: cp/semantics.c:7821
+#: c/c-typeck.c:14377 c/c-typeck.c:14408 c/c-typeck.c:14837 c/c-typeck.c:14872
+#: cp/semantics.c:6835 cp/semantics.c:6899 cp/semantics.c:7815
+#: cp/semantics.c:7849
#, gcc-internal-format
msgid "%qD appears both in data and map clauses"
msgstr ""
-#: c/c-typeck.c:14331 cp/semantics.c:6853
+#: c/c-typeck.c:14391 cp/semantics.c:6881
#, gcc-internal-format
msgid "%qE is not a variable in clause %<firstprivate%>"
msgstr ""
-#: c/c-typeck.c:14362 cp/semantics.c:6904
+#: c/c-typeck.c:14422 cp/semantics.c:6932
#, gcc-internal-format
msgid "%qE is not a variable in clause %<lastprivate%>"
msgstr ""
-#: c/c-typeck.c:14381 cp/semantics.c:7243
+#: c/c-typeck.c:14441 cp/semantics.c:7271
#, gcc-internal-format
msgid "%qE is not a variable in %<aligned%> clause"
msgstr ""
-#: c/c-typeck.c:14388
+#: c/c-typeck.c:14448
#, gcc-internal-format
msgid "%qE in %<aligned%> clause is neither a pointer nor an array"
msgstr ""
-#: c/c-typeck.c:14395
+#: c/c-typeck.c:14455
#, gcc-internal-format
msgid "%<_Atomic%> %qD in %<aligned%> clause"
msgstr ""
-#: c/c-typeck.c:14402
+#: c/c-typeck.c:14462
#, gcc-internal-format
msgid "%qE appears more than once in %<aligned%> clauses"
msgstr ""
-#: c/c-typeck.c:14415 cp/semantics.c:7314
+#: c/c-typeck.c:14475 cp/semantics.c:7342
#, gcc-internal-format
msgid "%qE is not a variable in %<nontemporal%> clause"
msgstr ""
-#: c/c-typeck.c:14421
+#: c/c-typeck.c:14481
#, gcc-internal-format
msgid "%qE appears more than once in %<nontemporal%> clauses"
msgstr ""
-#: c/c-typeck.c:14434 cp/semantics.c:7353
+#: c/c-typeck.c:14494 cp/semantics.c:7381
#, gcc-internal-format
msgid "%qE is not a variable in %<allocate%> clause"
msgstr ""
-#: c/c-typeck.c:14440
+#: c/c-typeck.c:14500
#, gcc-internal-format
msgid "%qE appears more than once in %<allocate%> clauses"
msgstr ""
-#: c/c-typeck.c:14509 cp/semantics.c:7439
+#: c/c-typeck.c:14569 cp/semantics.c:7467
#, gcc-internal-format
msgid "%<depend%> clause with %<depobj%> dependence type on array section"
msgstr ""
-#: c/c-typeck.c:14520 cp/semantics.c:7464
+#: c/c-typeck.c:14580 cp/semantics.c:7492
#, gcc-internal-format
msgid "%qE is not lvalue expression nor array section in %<depend%> clause"
msgstr ""
-#: c/c-typeck.c:14536 cp/semantics.c:7483
+#: c/c-typeck.c:14596 cp/semantics.c:7511
#, gcc-internal-format
msgid ""
"%qE does not have %<omp_depend_t%> type in %<depend%> clause with %<depobj%> "
"dependence type"
msgstr ""
-#: c/c-typeck.c:14545 cp/semantics.c:7494
+#: c/c-typeck.c:14605 cp/semantics.c:7522
#, 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.c:14588 cp/semantics.c:7575
+#: c/c-typeck.c:14648 cp/semantics.c:7603
#, gcc-internal-format
msgid "array section does not have mappable type in %qs clause"
msgstr ""
-#: c/c-typeck.c:14613 c/c-typeck.c:14789 cp/semantics.c:7596
-#: cp/semantics.c:7798
+#: c/c-typeck.c:14673 c/c-typeck.c:14849 cp/semantics.c:7624
+#: cp/semantics.c:7826
#, gcc-internal-format
msgid "%qD appears more than once in motion clauses"
msgstr ""
-#: c/c-typeck.c:14621 c/c-typeck.c:14795 cp/semantics.c:7604
-#: cp/semantics.c:7804
+#: c/c-typeck.c:14681 c/c-typeck.c:14855 cp/semantics.c:7632
+#: cp/semantics.c:7832
#, gcc-internal-format
msgid "%qD appears more than once in map clauses"
msgstr ""
-#: c/c-typeck.c:14676 cp/semantics.c:7674
+#: c/c-typeck.c:14736 cp/semantics.c:7702
#, gcc-internal-format
msgid "%qE does not have a mappable type in %qs clause"
msgstr ""
-#: c/c-typeck.c:14747 c/c-typeck.c:14853 cp/semantics.c:7756
-#: cp/semantics.c:7914
+#: c/c-typeck.c:14807 c/c-typeck.c:14913 cp/semantics.c:7784
+#: cp/semantics.c:7942
#, gcc-internal-format
msgid "%qD does not have a mappable type in %qs clause"
msgstr ""
-#: c/c-typeck.c:14834 cp/semantics.c:7894
+#: c/c-typeck.c:14894 cp/semantics.c:7922
#, gcc-internal-format
msgid "%qE is neither a variable nor a function name in clause %qs"
msgstr ""
-#: c/c-typeck.c:14862 cp/semantics.c:7924
+#: c/c-typeck.c:14922 cp/semantics.c:7952
#, gcc-internal-format
msgid "%qE appears more than once on the same %<declare target%> directive"
msgstr ""
-#: c/c-typeck.c:14876 cp/semantics.c:7940
+#: c/c-typeck.c:14936 cp/semantics.c:7968
#, gcc-internal-format
msgid "%qD is not an argument in %<uniform%> clause"
msgstr ""
-#: c/c-typeck.c:14879 cp/semantics.c:7943
+#: c/c-typeck.c:14939 cp/semantics.c:7971
#, gcc-internal-format
msgid "%qE is not an argument in %<uniform%> clause"
msgstr ""
-#: c/c-typeck.c:14896
+#: c/c-typeck.c:14956
#, gcc-internal-format
msgid "%qs variable is not a pointer"
msgstr ""
-#: c/c-typeck.c:14903
+#: c/c-typeck.c:14963
#, gcc-internal-format
msgid "%qs variable is neither a pointer nor an array"
msgstr ""
-#: c/c-typeck.c:14933 c/c-typeck.c:15024 cp/semantics.c:8340
+#: c/c-typeck.c:14993 c/c-typeck.c:15084 cp/semantics.c:8368
#, gcc-internal-format
msgid "%<order%> clause must not be used together with %<ordered%>"
msgstr ""
-#: c/c-typeck.c:14953 cp/semantics.c:7526
+#: c/c-typeck.c:15013 cp/semantics.c:7554
#, gcc-internal-format
msgid "too many %qs clauses on a task construct"
msgstr ""
-#: c/c-typeck.c:15046 cp/semantics.c:8166
+#: c/c-typeck.c:15106 cp/semantics.c:8194
#, gcc-internal-format
msgid "%<inbranch%> clause is incompatible with %<notinbranch%>"
msgstr ""
-#: c/c-typeck.c:15113 cp/semantics.c:8501
+#: c/c-typeck.c:15173 cp/semantics.c:8529
#, gcc-internal-format
msgid "%qE is predetermined %qs for %qs"
msgstr ""
-#: c/c-typeck.c:15123
+#: c/c-typeck.c:15183
#, gcc-internal-format
msgid ""
"%<const%> qualified %qE may appear only in %<shared%> or %<firstprivate%> "
"clauses"
msgstr ""
-#: c/c-typeck.c:15142 cp/semantics.c:8292
+#: c/c-typeck.c:15202 cp/semantics.c:8320
#, gcc-internal-format
msgid "%<simdlen%> clause value is bigger than %<safelen%> clause value"
msgstr ""
-#: c/c-typeck.c:15154 cp/semantics.c:8305
+#: c/c-typeck.c:15214 cp/semantics.c:8333
#, gcc-internal-format
msgid ""
"%<nonmonotonic%> schedule modifier specified together with %<ordered%> clause"
msgstr ""
-#: c/c-typeck.c:15165 c/c-typeck.c:15173 cp/semantics.c:8314
-#: cp/semantics.c:8332
+#: c/c-typeck.c:15225 c/c-typeck.c:15233 cp/semantics.c:8342
+#: cp/semantics.c:8360
#, gcc-internal-format
msgid "%qs clause specified together with %<inscan%> %<reduction%> clause"
msgstr ""
-#: c/c-typeck.c:15218 cp/semantics.c:8272
+#: c/c-typeck.c:15278 cp/semantics.c:8300
#, gcc-internal-format
msgid ""
"%<linear%> clause step is a parameter %qD not specified in %<uniform%> clause"
msgstr ""
-#: c/c-typeck.c:15255 cp/semantics.c:8322
+#: c/c-typeck.c:15315 cp/semantics.c:8350
#, gcc-internal-format
msgid "%<nogroup%> clause must not be used together with %<reduction%> clause"
msgstr ""
-#: c/c-typeck.c:15265 cp/semantics.c:8351
+#: c/c-typeck.c:15325 cp/semantics.c:8379
#, gcc-internal-format
msgid "%<detach%> clause must not be used together with %<mergeable%> clause"
msgstr ""
-#: c/c-typeck.c:15283 cp/semantics.c:8526
+#: c/c-typeck.c:15343 cp/semantics.c:8554
#, gcc-internal-format
msgid ""
"the event handle of a %<detach%> clause should not be in a data-sharing "
"clause"
msgstr ""
-#: c/c-typeck.c:15457
+#: c/c-typeck.c:15517
#, gcc-internal-format
msgid "cannot use %<va_arg%> with reverse storage order"
msgstr ""
-#: c/c-typeck.c:15462
+#: c/c-typeck.c:15522
#, gcc-internal-format
msgid "second argument to %<va_arg%> is of incomplete type %qT"
msgstr ""
-#: c/c-typeck.c:15468
+#: c/c-typeck.c:15528
#, gcc-internal-format
msgid "C++ requires promoted type, not enum type, in %<va_arg%>"
msgstr ""
@@ -47838,7 +47865,7 @@ msgstr ""
msgid " no known conversion for argument %d from %qH to %qI"
msgstr ""
-#: cp/call.c:3729 cp/pt.c:6885
+#: cp/call.c:3729 cp/pt.c:6912
#, gcc-internal-format, gfc-internal-format
msgid " candidate expects %d argument, %d provided"
msgid_plural " candidate expects %d arguments, %d provided"
@@ -47957,710 +47984,715 @@ msgstr ""
msgid "conversion from %qH to %qI in a converted constant expression"
msgstr ""
-#: cp/call.c:4641
+#: cp/call.c:4644
#, gcc-internal-format
msgid "no matching function for call to %<%D(%A)%>"
msgstr ""
-#: cp/call.c:4644
+#: cp/call.c:4647
#, gcc-internal-format
msgid "call of overloaded %<%D(%A)%> is ambiguous"
msgstr ""
#. It's no good looking for an overloaded operator() on a
#. pointer-to-member-function.
-#: cp/call.c:4869
+#: cp/call.c:4872
#, gcc-internal-format
msgid ""
"pointer-to-member function %qE cannot be called without an object; consider "
"using %<.*%> or %<->*%>"
msgstr ""
-#: cp/call.c:4941
+#: cp/call.c:4944
#, gcc-internal-format
msgid "no match for call to %<(%T) (%A)%>"
msgstr ""
-#: cp/call.c:4955
+#: cp/call.c:4958
#, gcc-internal-format
msgid "call of %<(%T) (%A)%> is ambiguous"
msgstr ""
-#: cp/call.c:5007
+#: cp/call.c:5010
#, gcc-internal-format
msgid "ambiguous overload for "
msgstr ""
-#: cp/call.c:5008
+#: cp/call.c:5011
#, gcc-internal-format
msgid "no match for "
msgstr ""
-#: cp/call.c:5011
+#: cp/call.c:5014
#, gcc-internal-format
msgid " (operand types are %qT, %qT, and %qT)"
msgstr ""
-#: cp/call.c:5013
+#: cp/call.c:5016
#, gcc-internal-format
msgid " (operand types are %qT and %qT)"
msgstr ""
-#: cp/call.c:5015
+#: cp/call.c:5018
#, gcc-internal-format
msgid " (operand type is %qT)"
msgstr ""
-#: cp/call.c:5032
+#: cp/call.c:5035
#, gcc-internal-format
msgid "ternary %<operator?:%>"
msgstr ""
-#: cp/call.c:5036
+#: cp/call.c:5039
#, gcc-internal-format
msgid "ternary %<operator?:%> in %<%E ? %E : %E%>"
msgstr ""
-#: cp/call.c:5045 cp/call.c:5089 cp/call.c:5099
+#: cp/call.c:5048 cp/call.c:5092 cp/call.c:5102
#, gcc-internal-format
msgid "%<operator%s%>"
msgstr ""
-#: cp/call.c:5048
+#: cp/call.c:5051
#, gcc-internal-format
msgid "%<operator%s%> in %<%E%s%>"
msgstr ""
-#: cp/call.c:5055
+#: cp/call.c:5058
#, gcc-internal-format
msgid "%<operator[]%>"
msgstr ""
-#: cp/call.c:5058
+#: cp/call.c:5061
#, gcc-internal-format
msgid "%<operator[]%> in %<%E[%E]%>"
msgstr ""
-#: cp/call.c:5066
+#: cp/call.c:5069
#, gcc-internal-format
msgid "%qs"
msgstr ""
-#: cp/call.c:5069
+#: cp/call.c:5072
#, gcc-internal-format
msgid "%qs in %<%s %E%>"
msgstr ""
-#: cp/call.c:5075
+#: cp/call.c:5078
#, gcc-internal-format
msgid "%<operator %s%>"
msgstr ""
-#: cp/call.c:5078
+#: cp/call.c:5081
#, gcc-internal-format
msgid "%<operator %s%> in %<%s%E%>"
msgstr ""
-#: cp/call.c:5093
+#: cp/call.c:5096
#, gcc-internal-format
msgid "%<operator%s%> in %<%E %s %E%>"
msgstr ""
-#: cp/call.c:5102
+#: cp/call.c:5105
#, gcc-internal-format
msgid "%<operator%s%> in %<%s%E%>"
msgstr ""
-#: cp/call.c:5212
+#: cp/call.c:5215
#, gcc-internal-format
msgid "ISO C++ forbids omitting the middle term of a %<?:%> expression"
msgstr ""
-#: cp/call.c:5279
+#: cp/call.c:5282
#, gcc-internal-format
msgid ""
"inferred scalar type %qT is not an integer or floating-point type of the "
"same size as %qT"
msgstr ""
-#: cp/call.c:5296 cp/call.c:5303
+#: cp/call.c:5299 cp/call.c:5306
msgid "conversion of scalar %qH to vector %qI involves truncation"
msgstr ""
-#: cp/call.c:5359
+#: cp/call.c:5362
#, gcc-internal-format
msgid "incompatible vector types in conditional expression: %qT, %qT and %qT"
msgstr ""
-#: cp/call.c:5439
+#: cp/call.c:5442
#, gcc-internal-format
msgid ""
"second operand to the conditional operator is of type %<void%>, but the "
"third operand is neither a throw-expression nor of type %<void%>"
msgstr ""
-#: cp/call.c:5444
+#: cp/call.c:5447
#, gcc-internal-format
msgid ""
"third operand to the conditional operator is of type %<void%>, but the "
"second operand is neither a throw-expression nor of type %<void%>"
msgstr ""
-#: cp/call.c:5493 cp/call.c:5608 cp/call.c:5779
+#: cp/call.c:5496 cp/call.c:5611 cp/call.c:5782
#, gcc-internal-format
msgid "operands to %<?:%> have different types %qT and %qT"
msgstr ""
-#: cp/call.c:5497
+#: cp/call.c:5500
#, gcc-internal-format
msgid " and each type can be converted to the other"
msgstr ""
-#: cp/call.c:5684
+#: cp/call.c:5687
msgid ""
"implicit conversion from %qH to %qI to match other result of conditional"
msgstr ""
-#: cp/call.c:5700
+#: cp/call.c:5703
#, gcc-internal-format
msgid "enumerated mismatch in conditional expression: %qT vs %qT"
msgstr ""
-#: cp/call.c:5713
+#: cp/call.c:5716
#, gcc-internal-format
msgid ""
"conditional expression between enumeration type %qT and floating-point type "
"%qT is deprecated"
msgstr ""
-#: cp/call.c:5718
+#: cp/call.c:5721
#, gcc-internal-format
msgid ""
"conditional expression between floating-point type %qT and enumeration type "
"%qT is deprecated"
msgstr ""
-#: cp/call.c:5734
+#: cp/call.c:5737
#, gcc-internal-format
msgid "enumerated and non-enumerated type in conditional expression"
msgstr ""
-#: cp/call.c:6415
+#: cp/call.c:6419
#, gcc-internal-format
msgid "no %<%D(int)%> declared for postfix %qs, trying prefix operator instead"
msgstr ""
-#: cp/call.c:6417
+#: cp/call.c:6421
#, gcc-internal-format
msgid "no %<%D(int)%> declared for postfix %qs"
msgstr ""
-#: cp/call.c:6497
+#: cp/call.c:6501
#, gcc-internal-format
msgid ""
"in C++20 this comparison calls the current function recursively with "
"reversed arguments"
msgstr ""
-#: cp/call.c:6548
+#: cp/call.c:6552
#, gcc-internal-format
msgid "return type of %qD is not %qs"
msgstr ""
-#: cp/call.c:6550
+#: cp/call.c:6554
#, gcc-internal-format
msgid "used as rewritten candidate for comparison of %qT and %qT"
msgstr ""
-#: cp/call.c:6621
+#: cp/call.c:6625
#, gcc-internal-format
msgid "comparison between %q#T and %q#T"
msgstr ""
-#: cp/call.c:7005
+#: cp/call.c:7009
#, gcc-internal-format
msgid ""
"exception cleanup for this placement new selects non-placement %<operator "
"delete%>"
msgstr ""
-#: cp/call.c:7008
+#: cp/call.c:7012
#, gcc-internal-format
msgid ""
"%qD is a usual (non-placement) deallocation function in C++14 (or with %<-"
"fsized-deallocation%>)"
msgstr ""
-#: cp/call.c:7047
+#: cp/call.c:7051
#, gcc-internal-format
msgid "%qD is a usual (non-placement) deallocation function"
msgstr ""
-#: cp/call.c:7221
+#: cp/call.c:7225
#, gcc-internal-format
msgid "no corresponding deallocation function for %qD"
msgstr ""
-#: cp/call.c:7227
+#: cp/call.c:7231
#, gcc-internal-format
msgid "no suitable %<operator %s%> for %qT"
msgstr ""
-#: cp/call.c:7263
+#: cp/call.c:7267
#, gcc-internal-format
msgid "%q#D is private within this context"
msgstr ""
-#: cp/call.c:7264 cp/decl.c:8260
+#: cp/call.c:7268 cp/decl.c:8266
#, gcc-internal-format
msgid "declared private here"
msgstr ""
-#: cp/call.c:7269
+#: cp/call.c:7273
#, gcc-internal-format
msgid "%q#D is protected within this context"
msgstr ""
-#: cp/call.c:7270 cp/decl.c:8261
+#: cp/call.c:7274 cp/decl.c:8267
#, gcc-internal-format
msgid "declared protected here"
msgstr ""
-#: cp/call.c:7277
+#: cp/call.c:7281
#, gcc-internal-format
msgid "%q#D is inaccessible within this context"
msgstr ""
-#: cp/call.c:7358
+#: cp/call.c:7362
#, gcc-internal-format
msgid "passing NULL to non-pointer argument %P of %qD"
msgstr ""
-#: cp/call.c:7361 cp/call.c:7380 cp/decl.c:9950 cp/typeck.c:4188
+#: cp/call.c:7365 cp/call.c:7384 cp/decl.c:9962 cp/typeck.c:4199
#, gcc-internal-format
msgid " declared here"
msgstr ""
-#: cp/call.c:7365
+#: cp/call.c:7369
#, gcc-internal-format
msgid "converting to non-pointer type %qT from NULL"
msgstr ""
-#: cp/call.c:7377
+#: cp/call.c:7381
#, gcc-internal-format
msgid "converting %<false%> to pointer type for argument %P of %qD"
msgstr ""
-#: cp/call.c:7384
+#: cp/call.c:7388
#, gcc-internal-format
msgid "converting %<false%> to pointer type %qT"
msgstr ""
-#: cp/call.c:7451
+#: cp/call.c:7455
#, gcc-internal-format
msgid " initializing argument %P of %qD"
msgstr ""
-#: cp/call.c:7471
+#: cp/call.c:7475
#, gcc-internal-format
msgid ""
"conversions to arrays of unknown bound are only available with %<-std=c+"
"+20%> or %<-std=gnu++20%>"
msgstr ""
-#: cp/call.c:7521
+#: cp/call.c:7525
#, gcc-internal-format
msgid "too many braces around initializer for %qT"
msgstr ""
-#: cp/call.c:7532
+#: cp/call.c:7536
msgid "converting to %qH from %qI requires direct-initialization"
msgstr ""
-#: cp/call.c:7541
+#: cp/call.c:7545
msgid "invalid user-defined conversion from %qH to %qI"
msgstr ""
-#: cp/call.c:7578 cp/cvt.c:227
+#: cp/call.c:7582 cp/cvt.c:227
msgid "invalid conversion from %qH to %qI"
msgstr ""
-#: cp/call.c:7620 cp/call.c:7627
+#: cp/call.c:7624 cp/call.c:7631
#, gcc-internal-format
msgid ""
"converting to %qT from initializer list would use explicit constructor %qD"
msgstr ""
-#: cp/call.c:7623
+#: cp/call.c:7627
#, gcc-internal-format
msgid "in C++11 and above a default constructor can be explicit"
msgstr ""
-#: cp/call.c:7893
+#: cp/call.c:7897
msgid "cannot bind rvalue reference of type %qH to lvalue of type %qI"
msgstr ""
-#: cp/call.c:7897
+#: cp/call.c:7906
+msgid ""
+"cannot bind non-const lvalue reference of type %qH to a value of type %qI"
+msgstr ""
+
+#: cp/call.c:7911
msgid ""
"cannot bind non-const lvalue reference of type %qH to an rvalue of type %qI"
msgstr ""
-#: cp/call.c:7908
+#: cp/call.c:7923
msgid "cannot bind reference of type %qH to %qI due to different array bounds"
msgstr ""
-#: cp/call.c:7911
+#: cp/call.c:7926
msgid "binding reference of type %qH to %qI discards qualifiers"
msgstr ""
-#: cp/call.c:7950
+#: cp/call.c:7965
#, gcc-internal-format
msgid "cannot bind bit-field %qE to %qT"
msgstr ""
-#: cp/call.c:7953 cp/call.c:7971
+#: cp/call.c:7968 cp/call.c:7986
#, gcc-internal-format
msgid "cannot bind packed field %qE to %qT"
msgstr ""
-#: cp/call.c:7956
+#: cp/call.c:7971
#, gcc-internal-format
msgid "cannot bind rvalue %qE to %qT"
msgstr ""
-#: cp/call.c:8151
+#: cp/call.c:8166
msgid "implicit conversion from %qH to %qI when passing argument to function"
msgstr ""
-#: cp/call.c:8175 cp/cvt.c:1978
+#: cp/call.c:8190 cp/cvt.c:1978
#, gcc-internal-format
msgid ""
"scoped enum %qT passed through %<...%> as %qT before %<-fabi-version=6%>, "
"%qT after"
msgstr ""
-#: cp/call.c:8219
+#: cp/call.c:8234
#, gcc-internal-format
msgid ""
"passing objects of non-trivially-copyable type %q#T through %<...%> is "
"conditionally supported"
msgstr ""
-#: cp/call.c:8255
+#: cp/call.c:8270
#, gcc-internal-format
msgid "cannot receive reference type %qT through %<...%>"
msgstr ""
-#: cp/call.c:8265
+#: cp/call.c:8280
#, gcc-internal-format
msgid ""
"receiving objects of non-trivially-copyable type %q#T through %<...%> is "
"conditionally-supported"
msgstr ""
-#: cp/call.c:8333
+#: cp/call.c:8348
#, gcc-internal-format
msgid "recursive evaluation of default argument for %q#D"
msgstr ""
-#: cp/call.c:8342
+#: cp/call.c:8357
#, gcc-internal-format
msgid ""
"call to %qD uses the default argument for parameter %P, which is not yet "
"defined"
msgstr ""
-#: cp/call.c:8442
+#: cp/call.c:8457
#, gcc-internal-format
msgid "argument of function call might be a candidate for a format attribute"
msgstr ""
-#: cp/call.c:8504
+#: cp/call.c:8519
#, gcc-internal-format
msgid "use of multiversioned function without a default"
msgstr ""
-#: cp/call.c:9083
+#: cp/call.c:9103
#, gcc-internal-format
msgid "passing %qT as %<this%> argument discards qualifiers"
msgstr ""
-#: cp/call.c:9086 cp/call.c:11715
+#: cp/call.c:9106 cp/call.c:11736
#, gcc-internal-format
msgid " in call to %qD"
msgstr ""
-#: cp/call.c:9111
+#: cp/call.c:9131
#, gcc-internal-format
msgid "%qT is not an accessible base of %qT"
msgstr ""
-#: cp/call.c:9293
+#: cp/call.c:9313
#, gcc-internal-format
msgid "passing arguments to ellipsis of inherited constructor %qD"
msgstr ""
-#: cp/call.c:9425
+#: cp/call.c:9445
#, gcc-internal-format
msgid ""
"assignment from temporary %<initializer_list%> does not extend the lifetime "
"of the underlying array"
msgstr ""
-#: cp/call.c:9825
+#: cp/call.c:9845
#, gcc-internal-format
msgid "%qD writing to an object of type %#qT with no trivial copy-assignment"
msgstr ""
-#: cp/call.c:9828
+#: cp/call.c:9848
#, gcc-internal-format
msgid "%qD writing to an object of non-trivial type %#qT%s"
msgstr ""
-#: cp/call.c:9833
+#: cp/call.c:9853
#, gcc-internal-format
msgid "%qD writing to an object of type %#qT with %qs member %qD"
msgstr ""
-#: cp/call.c:9838
+#: cp/call.c:9858
#, gcc-internal-format
msgid ""
"%qD writing to an object of type %#qT containing a pointer to data member%s"
msgstr ""
-#: cp/call.c:9853
+#: cp/call.c:9873
#, gcc-internal-format
msgid "; use assignment or value-initialization instead"
msgstr ""
-#: cp/call.c:9855
+#: cp/call.c:9875
#, gcc-internal-format
msgid "; use assignment instead"
msgstr ""
-#: cp/call.c:9857
+#: cp/call.c:9877
#, gcc-internal-format
msgid "; use value-initialization instead"
msgstr ""
-#: cp/call.c:9860
+#: cp/call.c:9880
#, gcc-internal-format
msgid "%qD clearing an object of type %#qT with no trivial copy-assignment%s"
msgstr ""
-#: cp/call.c:9863
+#: cp/call.c:9883
#, gcc-internal-format
msgid "%qD clearing an object of non-trivial type %#qT%s"
msgstr ""
-#: cp/call.c:9865
+#: cp/call.c:9885
#, gcc-internal-format
msgid "%qD clearing an object of type %#qT containing a pointer-to-member%s"
msgstr ""
-#: cp/call.c:9886
+#: cp/call.c:9906
#, gcc-internal-format
msgid "; use copy-assignment or copy-initialization instead"
msgstr ""
-#: cp/call.c:9888
+#: cp/call.c:9908
#, gcc-internal-format
msgid "; use copy-assignment instead"
msgstr ""
-#: cp/call.c:9890
+#: cp/call.c:9910
#, gcc-internal-format
msgid "; use copy-initialization instead"
msgstr ""
-#: cp/call.c:9893
+#: cp/call.c:9913
#, gcc-internal-format
msgid "%qD writing to an object of type %#qT with no trivial copy-assignment%s"
msgstr ""
-#: cp/call.c:9896
+#: cp/call.c:9916
#, gcc-internal-format
msgid "%qD writing to an object of non-trivially copyable type %#qT%s"
msgstr ""
-#: cp/call.c:9899
+#: cp/call.c:9919
#, gcc-internal-format
msgid "%qD writing to an object with a deleted copy constructor"
msgstr ""
-#: cp/call.c:9910
+#: cp/call.c:9930
#, gcc-internal-format
msgid "%qD copying an object of non-trivial type %#qT from an array of %#qT"
msgstr ""
-#: cp/call.c:9922
+#: cp/call.c:9942
#, gcc-internal-format
msgid ""
"%qD copying an object of type %#qT with %qs member %qD from an array of "
"%#qT; use assignment or copy-initialization instead"
msgstr ""
-#: cp/call.c:9939
+#: cp/call.c:9959
#, gcc-internal-format
msgid ""
"%qD writing to an object of a non-trivial type %#qT leaves %wu bytes "
"unchanged"
msgstr ""
-#: cp/call.c:9942
+#: cp/call.c:9962
#, gcc-internal-format
msgid ""
"%qD writing to an object of a non-trivial type %#qT leaves %wu byte unchanged"
msgstr ""
-#: cp/call.c:9952
+#: cp/call.c:9972
#, gcc-internal-format
msgid ""
"%qD moving an object of non-trivially copyable type %#qT; use %<new%> and "
"%<delete%> instead"
msgstr ""
-#: cp/call.c:9955
+#: cp/call.c:9975
#, gcc-internal-format
msgid ""
"%qD moving an object of type %#qT with deleted copy constructor; use %<new%> "
"and %<delete%> instead"
msgstr ""
-#: cp/call.c:9958
+#: cp/call.c:9978
#, gcc-internal-format
msgid "%qD moving an object of type %#qT with deleted destructor"
msgstr ""
-#: cp/call.c:9967
+#: cp/call.c:9987
#, gcc-internal-format
msgid ""
"%qD moving an object of non-trivial type %#qT and size %E into a region of "
"size %E"
msgstr ""
-#: cp/call.c:9989
+#: cp/call.c:10009
#, gcc-internal-format
msgid "%#qT declared here"
msgstr ""
-#: cp/call.c:10089
+#: cp/call.c:10109
#, gcc-internal-format
msgid "constructor delegates to itself"
msgstr ""
-#: cp/call.c:10363 cp/typeck.c:9482
+#: cp/call.c:10383 cp/typeck.c:9489
msgid "cannot convert %qH to %qI"
msgstr ""
-#: cp/call.c:10385
+#: cp/call.c:10405
#, gcc-internal-format
msgid "no matching function for call to %<%T::operator %T(%A)%#V%>"
msgstr ""
-#: cp/call.c:10417
+#: cp/call.c:10437
#, gcc-internal-format
msgid "no matching function for call to %<%T::%s%E(%A)%#V%>"
msgstr ""
-#: cp/call.c:10464
+#: cp/call.c:10484
#, gcc-internal-format
msgid "call to non-function %qD"
msgstr ""
-#: cp/call.c:10502 cp/pt.c:16264 cp/typeck.c:3162
+#: cp/call.c:10522 cp/pt.c:16353 cp/typeck.c:3173
#, gcc-internal-format
msgid "cannot call constructor %<%T::%D%> directly"
msgstr ""
-#: cp/call.c:10504
+#: cp/call.c:10524
#, gcc-internal-format
msgid "for a function-style cast, remove the redundant %<::%D%>"
msgstr ""
-#: cp/call.c:10696
+#: cp/call.c:10716
#, gcc-internal-format
msgid "no matching function for call to %<%s(%A)%>"
msgstr ""
-#: cp/call.c:10699
+#: cp/call.c:10719
#, gcc-internal-format
msgid "call of overloaded %<%s(%A)%> is ambiguous"
msgstr ""
-#: cp/call.c:10722
+#: cp/call.c:10742
#, gcc-internal-format
msgid "pure virtual %q#D called from non-static data member initializer"
msgstr ""
-#: cp/call.c:10727
+#: cp/call.c:10747
#, gcc-internal-format
msgid "pure virtual %q#D called from constructor"
msgstr ""
-#: cp/call.c:10728
+#: cp/call.c:10748
#, gcc-internal-format
msgid "pure virtual %q#D called from destructor"
msgstr ""
-#: cp/call.c:10751
+#: cp/call.c:10771
#, gcc-internal-format
msgid "cannot call member function %qD without object"
msgstr ""
-#: cp/call.c:11713
+#: cp/call.c:11734
#, gcc-internal-format
msgid "passing %qT chooses %qT over %qT"
msgstr ""
-#: cp/call.c:11782
+#: cp/call.c:11803
#, gcc-internal-format
msgid "choosing %qD over %qD"
msgstr ""
-#: cp/call.c:11783
+#: cp/call.c:11804
msgid " for conversion from %qH to %qI"
msgstr ""
-#: cp/call.c:11786
+#: cp/call.c:11807
#, gcc-internal-format
msgid " because conversion sequence for the argument is better"
msgstr ""
-#: cp/call.c:12036
+#: cp/call.c:12057
#, gcc-internal-format
msgid "default argument mismatch in overload resolution"
msgstr ""
-#: cp/call.c:12040
+#: cp/call.c:12061
#, gcc-internal-format
msgid " candidate 1: %q#F"
msgstr ""
-#: cp/call.c:12042
+#: cp/call.c:12063
#, gcc-internal-format
msgid " candidate 2: %q#F"
msgstr ""
-#: cp/call.c:12088
+#: cp/call.c:12109
#, gcc-internal-format
msgid ""
"ISO C++ says that these are ambiguous, even though the worst conversion for "
"the first is better than the worst conversion for the second:"
msgstr ""
-#: cp/call.c:12475
+#: cp/call.c:12496
#, gcc-internal-format
msgid "a temporary bound to %qD only persists until the constructor exits"
msgstr ""
-#: cp/call.c:12630
+#: cp/call.c:12651
msgid ""
"invalid initialization of non-const reference of type %qH from an rvalue of "
"type %qI"
msgstr ""
-#: cp/call.c:12634
+#: cp/call.c:12655
msgid ""
"invalid initialization of reference of type %qH from expression of type %qI"
msgstr ""
@@ -48692,1178 +48724,1178 @@ msgid ""
"cannot convert from base class %qT to derived class %qT via virtual base %qT"
msgstr ""
-#: cp/class.c:371
+#: cp/class.c:378
#, gcc-internal-format
msgid "cannot convert from %qT to base class %qT because %qT is incomplete"
msgstr ""
-#: cp/class.c:1184
+#: cp/class.c:1191
#, gcc-internal-format
msgid "%q#D conflicts with version inherited from %qT"
msgstr ""
-#: cp/class.c:1187
+#: cp/class.c:1194
#, gcc-internal-format
msgid "version inherited from %qT declared here"
msgstr ""
-#: cp/class.c:1205
+#: cp/class.c:1212
#, gcc-internal-format
msgid "%q#D cannot be overloaded with %q#D"
msgstr ""
-#: cp/class.c:1207 cp/decl.c:1744 cp/decl.c:1756 cp/decl.c:1781 cp/decl.c:1804
-#: cp/name-lookup.c:2735 cp/name-lookup.c:3061
+#: cp/class.c:1214 cp/decl.c:1744 cp/decl.c:1756 cp/decl.c:1781 cp/decl.c:1804
+#: cp/name-lookup.c:2736 cp/name-lookup.c:3062
#, gcc-internal-format
msgid "previous declaration %q#D"
msgstr ""
-#: cp/class.c:1249
+#: cp/class.c:1256
#, gcc-internal-format
msgid "conflicting access specifications for method %q+D, ignored"
msgstr ""
-#: cp/class.c:1252
+#: cp/class.c:1259
#, gcc-internal-format
msgid "conflicting access specifications for field %qE, ignored"
msgstr ""
-#: cp/class.c:1321
+#: cp/class.c:1328
#, gcc-internal-format
msgid "%qD invalid in %q#T because of local method %q#D with same name"
msgstr ""
-#: cp/class.c:1325
+#: cp/class.c:1332
#, gcc-internal-format
msgid "local method %q#D declared here"
msgstr ""
-#: cp/class.c:1331
+#: cp/class.c:1338
#, gcc-internal-format
msgid "%qD invalid in %q#T because of local member %q#D with same name"
msgstr ""
-#: cp/class.c:1335
+#: cp/class.c:1342
#, gcc-internal-format
msgid "local member %q#D declared here"
msgstr ""
-#: cp/class.c:1410
+#: cp/class.c:1417
#, gcc-internal-format
msgid "%qD inherits the %E ABI tag that %qT (used in its return type) has"
msgstr ""
-#: cp/class.c:1413 cp/class.c:1420 cp/class.c:1427 cp/class.c:1439
+#: cp/class.c:1420 cp/class.c:1427 cp/class.c:1434 cp/class.c:1446
#: cp/cvt.c:1100
#, gcc-internal-format
msgid "%qT declared here"
msgstr ""
-#: cp/class.c:1418
+#: cp/class.c:1425
#, gcc-internal-format
msgid "%qD inherits the %E ABI tag that %qT (used in its type) has"
msgstr ""
-#: cp/class.c:1425
+#: cp/class.c:1432
#, gcc-internal-format
msgid "%qT does not have the %E ABI tag that base %qT has"
msgstr ""
-#: cp/class.c:1433
+#: cp/class.c:1440
#, gcc-internal-format
msgid "%qT does not have the %E ABI tag that %qT (used in the type of %qD) has"
msgstr ""
-#: cp/class.c:1744
+#: cp/class.c:1751
#, gcc-internal-format
msgid "cannot derive from %<final%> base %qT in derived type %qT"
msgstr ""
-#: cp/class.c:2218
+#: cp/class.c:2225
#, gcc-internal-format
msgid "all member functions in class %qT are private"
msgstr ""
-#: cp/class.c:2230
+#: cp/class.c:2237
#, gcc-internal-format
msgid "%q#T only defines a private destructor and has no friends"
msgstr ""
-#: cp/class.c:2271
+#: cp/class.c:2278
#, gcc-internal-format
msgid "%q#T only defines private constructors and has no friends"
msgstr ""
-#: cp/class.c:2275
+#: cp/class.c:2282
#, gcc-internal-format
msgid "%q#D is public, but requires an existing %q#T object"
msgstr ""
-#: cp/class.c:2567
+#: cp/class.c:2574
#, gcc-internal-format
msgid "no unique final overrider for %qD in %qT"
msgstr ""
-#: cp/class.c:2929
+#: cp/class.c:2936
#, gcc-internal-format
msgid "%qD can be marked override"
msgstr ""
-#: cp/class.c:2932
+#: cp/class.c:2939
#, gcc-internal-format
msgid "%q+#D marked %<override%>, but does not override"
msgstr ""
-#: cp/class.c:2947
+#: cp/class.c:2954
#, gcc-internal-format
msgid "%q+#D marked %<final%>, but is not virtual"
msgstr ""
-#: cp/class.c:3010
+#: cp/class.c:3017
#, gcc-internal-format
msgid "%qD was hidden"
msgstr ""
-#: cp/class.c:3011
+#: cp/class.c:3018
#, gcc-internal-format
msgid " by %qD"
msgstr ""
-#: cp/class.c:3046
+#: cp/class.c:3053
#, gcc-internal-format
msgid ""
"%q#D invalid; an anonymous union may only have public non-static data members"
msgstr ""
-#: cp/class.c:3056 cp/parser.c:21822
+#: cp/class.c:3063 cp/parser.c:21859
#, gcc-internal-format
msgid "this flexibility is deprecated and will be removed"
msgstr ""
-#: cp/class.c:3252
+#: cp/class.c:3259
#, gcc-internal-format
msgid "the ellipsis in %qD is not inherited"
msgstr ""
-#: cp/class.c:3444
+#: cp/class.c:3451
#, gcc-internal-format
msgid "bit-field %q#D with non-integral type %qT"
msgstr ""
-#: cp/class.c:3460
+#: cp/class.c:3467
#, gcc-internal-format
msgid "bit-field %q+D width not an integer constant"
msgstr ""
-#: cp/class.c:3465
+#: cp/class.c:3472
#, gcc-internal-format
msgid "negative width in bit-field %q+D"
msgstr ""
-#: cp/class.c:3470
+#: cp/class.c:3477
#, gcc-internal-format
msgid "zero width for bit-field %q+D"
msgstr ""
-#: cp/class.c:3480
+#: cp/class.c:3487
#, gcc-internal-format
msgid "width of %qD exceeds its type"
msgstr ""
-#: cp/class.c:3486
+#: cp/class.c:3493
#, gcc-internal-format
msgid "%qD is too small to hold all values of %q#T"
msgstr ""
-#: cp/class.c:3547
+#: cp/class.c:3554
#, gcc-internal-format
msgid "member %q+#D with constructor not allowed in union"
msgstr ""
-#: cp/class.c:3550
+#: cp/class.c:3557
#, gcc-internal-format
msgid "member %q+#D with destructor not allowed in union"
msgstr ""
-#: cp/class.c:3552
+#: cp/class.c:3559
#, gcc-internal-format
msgid "member %q+#D with copy assignment operator not allowed in union"
msgstr ""
-#: cp/class.c:3556
+#: cp/class.c:3563
#, gcc-internal-format
msgid ""
"unrestricted unions only available with %<-std=c++11%> or %<-std=gnu++11%>"
msgstr ""
-#: cp/class.c:3672
+#: cp/class.c:3679
#, gcc-internal-format
msgid "in C++98 %q+D may not be static because it is a member of a union"
msgstr ""
-#: cp/class.c:3685
+#: cp/class.c:3692
#, gcc-internal-format
msgid "non-static data member %q+D in a union may not have reference type %qT"
msgstr ""
-#: cp/class.c:3698
+#: cp/class.c:3705
#, gcc-internal-format
msgid "data member %q+D invalidly declared function type"
msgstr ""
-#: cp/class.c:3704
+#: cp/class.c:3711
#, gcc-internal-format
msgid "data member %q+D invalidly declared method type"
msgstr ""
-#: cp/class.c:3775
+#: cp/class.c:3782
#, gcc-internal-format
msgid "ignoring packed attribute because of unpacked non-POD field %q#D"
msgstr ""
-#: cp/class.c:3827
+#: cp/class.c:3834
#, gcc-internal-format
msgid "member %q+D cannot be declared as a %<mutable%> reference"
msgstr ""
-#: cp/class.c:3830
+#: cp/class.c:3837
#, gcc-internal-format
msgid "member %q+D cannot be declared both %<const%> and %<mutable%>"
msgstr ""
-#: cp/class.c:3861
+#: cp/class.c:3868
#, gcc-internal-format
msgid "multiple fields in union %qT initialized"
msgstr ""
-#: cp/class.c:3863
+#: cp/class.c:3870
#, gcc-internal-format
msgid "initialized member %q+D declared here"
msgstr ""
-#: cp/class.c:3906
+#: cp/class.c:3913
#, gcc-internal-format
msgid "field %q#D with same name as class"
msgstr ""
-#: cp/class.c:3934
+#: cp/class.c:3941
#, gcc-internal-format
msgid "%q#T has pointer data members"
msgstr ""
-#: cp/class.c:3939
+#: cp/class.c:3946
#, gcc-internal-format
msgid " but does not declare %<%T(const %T&)%>"
msgstr ""
-#: cp/class.c:3941
+#: cp/class.c:3948
#, gcc-internal-format
msgid " or %<operator=(const %T&)%>"
msgstr ""
-#: cp/class.c:3945
+#: cp/class.c:3952
#, gcc-internal-format
msgid " but does not declare %<operator=(const %T&)%>"
msgstr ""
-#: cp/class.c:3947
+#: cp/class.c:3954
#, gcc-internal-format
msgid "pointer member %q+D declared here"
msgstr ""
-#: cp/class.c:4404
+#: cp/class.c:4411
#, gcc-internal-format
msgid "alignment of %qD increased in %<-fabi-version=9%> (GCC 5.2)"
msgstr ""
-#: cp/class.c:4407
+#: cp/class.c:4414
#, gcc-internal-format
msgid "alignment of %qD will increase in %<-fabi-version=9%>"
msgstr ""
-#: cp/class.c:4735
+#: cp/class.c:4742
#, gcc-internal-format
msgid "initializer specified for non-virtual method %q+D"
msgstr ""
-#: cp/class.c:4768
+#: cp/class.c:4775
#, gcc-internal-format
msgid "destructor for %qT is ambiguous"
msgstr ""
-#: cp/class.c:5224
+#: cp/class.c:5231
#, gcc-internal-format
msgid "method overrides both %<transaction_pure%> and %qE methods"
msgstr ""
-#: cp/class.c:5245
+#: cp/class.c:5252
#, gcc-internal-format
msgid "method declared %qE overriding %qE method"
msgstr ""
-#: cp/class.c:5901 cp/constexpr.c:245
+#: cp/class.c:5908 cp/constexpr.c:246
#, gcc-internal-format
msgid ""
"enclosing class of %<constexpr%> non-static member function %q+#D is not a "
"literal type"
msgstr ""
-#: cp/class.c:5927
+#: cp/class.c:5934
#, gcc-internal-format
msgid "%q+T is not literal because:"
msgstr ""
-#: cp/class.c:5930
+#: cp/class.c:5937
#, gcc-internal-format
msgid " %qT is a closure type, which is only literal in C++17 and later"
msgstr ""
-#: cp/class.c:5933
+#: cp/class.c:5940
#, gcc-internal-format
msgid " %q+T has a non-trivial destructor"
msgstr ""
-#: cp/class.c:5936
+#: cp/class.c:5943
#, gcc-internal-format
msgid " %q+T does not have %<constexpr%> destructor"
msgstr ""
-#: cp/class.c:5944
+#: cp/class.c:5951
#, gcc-internal-format
msgid ""
" %q+T is not an aggregate, does not have a trivial default constructor, and "
"has no %<constexpr%> constructor that is not a copy or move constructor"
msgstr ""
-#: cp/class.c:5977
+#: cp/class.c:5984
#, gcc-internal-format
msgid " base class %qT of %q+T is non-literal"
msgstr ""
-#: cp/class.c:5992
+#: cp/class.c:5999
#, gcc-internal-format
msgid " non-static data member %qD has non-literal type"
msgstr ""
-#: cp/class.c:5999
+#: cp/class.c:6006
#, gcc-internal-format
msgid " non-static data member %qD has volatile type"
msgstr ""
-#: cp/class.c:6120
+#: cp/class.c:6127
#, gcc-internal-format
msgid "base class %q#T has accessible non-virtual destructor"
msgstr ""
-#: cp/class.c:6149
+#: cp/class.c:6156
#, gcc-internal-format
msgid "non-static reference %q#D in class without a constructor"
msgstr ""
-#: cp/class.c:6155
+#: cp/class.c:6162
#, gcc-internal-format
msgid "non-static const member %q#D in class without a constructor"
msgstr ""
-#: cp/class.c:6474
+#: cp/class.c:6481
#, gcc-internal-format
msgid "direct base %qT inaccessible in %qT due to ambiguity"
msgstr ""
-#: cp/class.c:6486
+#: cp/class.c:6493
#, gcc-internal-format
msgid "virtual base %qT inaccessible in %qT due to ambiguity"
msgstr ""
-#: cp/class.c:6736
+#: cp/class.c:6743
#, gcc-internal-format
msgid ""
"offset of %qD is not ABI-compliant and may change in a future version of GCC"
msgstr ""
-#: cp/class.c:6915
+#: cp/class.c:6922
#, gcc-internal-format
msgid "size of type %qT is too large (%qE bytes)"
msgstr ""
-#: cp/class.c:7201
+#: cp/class.c:7208
#, gcc-internal-format
msgid "invalid use of %q#T with a zero-size array in %q#D"
msgstr ""
-#: cp/class.c:7203
+#: cp/class.c:7210
#, gcc-internal-format
msgid "invalid use of %q#T with a flexible array member in %q#T"
msgstr ""
-#: cp/class.c:7208
+#: cp/class.c:7215
#, gcc-internal-format
msgid "array member %q#D declared here"
msgstr ""
-#: cp/class.c:7236
+#: cp/class.c:7243
#, gcc-internal-format
msgid "zero-size array member %qD not at end of %q#T"
msgstr ""
-#: cp/class.c:7238
+#: cp/class.c:7245
#, gcc-internal-format
msgid "zero-size array member %qD in an otherwise empty %q#T"
msgstr ""
-#: cp/class.c:7247 cp/class.c:7278
+#: cp/class.c:7254 cp/class.c:7285
#, gcc-internal-format
msgid "in the definition of %q#T"
msgstr ""
-#: cp/class.c:7255
+#: cp/class.c:7262
#, gcc-internal-format
msgid "flexible array member %qD not at end of %q#T"
msgstr ""
-#: cp/class.c:7257
+#: cp/class.c:7264
#, gcc-internal-format
msgid "flexible array member %qD in an otherwise empty %q#T"
msgstr ""
-#: cp/class.c:7276
+#: cp/class.c:7283
#, gcc-internal-format
msgid "next member %q#D declared here"
msgstr ""
-#: cp/class.c:7390 cp/parser.c:25610
+#: cp/class.c:7397 cp/parser.c:25645
#, gcc-internal-format
msgid "redefinition of %q#T"
msgstr ""
-#: cp/class.c:7527
+#: cp/class.c:7534
#, gcc-internal-format
msgid "%q#T has virtual functions and accessible non-virtual destructor"
msgstr ""
-#: cp/class.c:7555
+#: cp/class.c:7562
#, gcc-internal-format
msgid "type transparent %q#T does not have any fields"
msgstr ""
-#: cp/class.c:7561
+#: cp/class.c:7568
#, gcc-internal-format
msgid "type transparent class %qT has base classes"
msgstr ""
-#: cp/class.c:7565
+#: cp/class.c:7572
#, gcc-internal-format
msgid "type transparent class %qT has virtual functions"
msgstr ""
-#: cp/class.c:7571
+#: cp/class.c:7578
#, gcc-internal-format
msgid ""
"type transparent %q#T cannot be made transparent because the type of the "
"first field has a different ABI from the class overall"
msgstr ""
-#: cp/class.c:7728
+#: cp/class.c:7735
#, gcc-internal-format
msgid "definition of %qD does not match %<#include <initializer_list>%>"
msgstr ""
-#: cp/class.c:7739
+#: cp/class.c:7746
#, gcc-internal-format
msgid "trying to finish struct, but kicked out due to previous parse errors"
msgstr ""
-#: cp/class.c:8246
+#: cp/class.c:8253
#, gcc-internal-format
msgid "language string %<\"%E\"%> not recognized"
msgstr ""
-#: cp/class.c:8336
+#: cp/class.c:8343
#, gcc-internal-format
msgid "cannot resolve overloaded function %qD based on conversion to type %qT"
msgstr ""
-#: cp/class.c:8494
+#: cp/class.c:8501
#, gcc-internal-format
msgid "no matches converting function %qD to type %q#T"
msgstr ""
-#: cp/class.c:8521
+#: cp/class.c:8528
#, gcc-internal-format
msgid "converting overloaded function %qD to type %q#T is ambiguous"
msgstr ""
-#: cp/class.c:8548
+#: cp/class.c:8555
#, gcc-internal-format
msgid "assuming pointer to member %qD"
msgstr ""
-#: cp/class.c:8551
+#: cp/class.c:8558
#, gcc-internal-format
msgid "(a pointer to member can only be formed with %<&%E%>)"
msgstr ""
-#: cp/class.c:8627 cp/class.c:8669
+#: cp/class.c:8634 cp/class.c:8676
#, gcc-internal-format
msgid "not enough type information"
msgstr ""
-#: cp/class.c:8647
+#: cp/class.c:8654
#, gcc-internal-format
msgid "cannot convert %qE from type %qT to type %qT"
msgstr ""
-#: cp/class.c:8921
+#: cp/class.c:8928
#, gcc-internal-format
msgid "declaration of %q#D changes meaning of %qD"
msgstr ""
-#: cp/class.c:8924
+#: cp/class.c:8931
#, gcc-internal-format
msgid "%qD declared here as %q#D"
msgstr ""
-#: cp/constexpr.c:106
+#: cp/constexpr.c:107
#, gcc-internal-format
msgid "the type %qT of %<constexpr%> variable %qD is not literal"
msgstr ""
-#: cp/constexpr.c:117
+#: cp/constexpr.c:118
#, gcc-internal-format
msgid "variable %qD of non-literal type %qT in %<constexpr%> function"
msgstr ""
-#: cp/constexpr.c:129
+#: cp/constexpr.c:130
#, gcc-internal-format
msgid "%<constexpr%> variable %qD has variably-modified type %qT"
msgstr ""
-#: cp/constexpr.c:193
+#: cp/constexpr.c:194
#, gcc-internal-format
msgid "inherited constructor %qD is not %<constexpr%>"
msgstr ""
-#: cp/constexpr.c:206
+#: cp/constexpr.c:207
#, gcc-internal-format
msgid "invalid type for parameter %d of %<constexpr%> function %q+#D"
msgstr ""
-#: cp/constexpr.c:218
+#: cp/constexpr.c:219
#, gcc-internal-format
msgid "lambdas are implicitly %<constexpr%> only in C++17 and later"
msgstr ""
-#: cp/constexpr.c:229
+#: cp/constexpr.c:230
#, gcc-internal-format
msgid "invalid return type %qT of %<constexpr%> function %q+D"
msgstr ""
-#: cp/constexpr.c:256
+#: cp/constexpr.c:257
#, gcc-internal-format
msgid "%q#T has virtual base classes"
msgstr ""
-#: cp/constexpr.c:517
+#: cp/constexpr.c:518
#, gcc-internal-format
msgid "%<constexpr%> constructor does not have empty body"
msgstr ""
-#: cp/constexpr.c:780
+#: cp/constexpr.c:781
#, gcc-internal-format
msgid ""
"%<constexpr%> constructor for union %qT must initialize exactly one non-"
"static data member"
msgstr ""
-#: cp/constexpr.c:841
+#: cp/constexpr.c:842
#, gcc-internal-format
msgid ""
"member %qD must be initialized by mem-initializer in %<constexpr%> "
"constructor"
msgstr ""
-#: cp/constexpr.c:883
+#: cp/constexpr.c:884
#, gcc-internal-format
msgid "body of %<constexpr%> function %qD not a return-statement"
msgstr ""
-#: cp/constexpr.c:972
+#: cp/constexpr.c:973
#, gcc-internal-format
msgid "%qD is not usable as a %<constexpr%> function because:"
msgstr ""
-#: cp/constexpr.c:1445 cp/constexpr.c:2747
+#: cp/constexpr.c:1446 cp/constexpr.c:2783
#, gcc-internal-format
msgid "%<constexpr%> call flows off the end of the function"
msgstr ""
-#: cp/constexpr.c:1450 cp/constexpr.c:1460 cp/constexpr.c:2942
+#: cp/constexpr.c:1451 cp/constexpr.c:1461 cp/constexpr.c:2997
#, gcc-internal-format
msgid "%q+E is not a constant expression"
msgstr ""
-#: cp/constexpr.c:1735 cp/constexpr.c:7953
+#: cp/constexpr.c:1771 cp/constexpr.c:8016
#, gcc-internal-format
msgid "call to internal function %qE"
msgstr ""
-#: cp/constexpr.c:1790
+#: cp/constexpr.c:1826
#, gcc-internal-format
msgid "modifying a const object %qE is not allowed in a constant expression"
msgstr ""
-#: cp/constexpr.c:1792
+#: cp/constexpr.c:1828
#, gcc-internal-format
msgid "originally declared %<const%> here"
msgstr ""
-#: cp/constexpr.c:2010 cp/constexpr.c:2065 cp/constexpr.c:2097
-#: cp/constexpr.c:2118
+#: cp/constexpr.c:2046 cp/constexpr.c:2101 cp/constexpr.c:2133
+#: cp/constexpr.c:2154
#, gcc-internal-format
msgid "reference %<dynamic_cast%> failed"
msgstr ""
-#: cp/constexpr.c:2011
+#: cp/constexpr.c:2047
#, gcc-internal-format
msgid "dynamic type %qT of its operand does not have a base class of type %qT"
msgstr ""
-#: cp/constexpr.c:2035
+#: cp/constexpr.c:2071
#, gcc-internal-format
msgid "virtual table pointer is used uninitialized"
msgstr ""
-#: cp/constexpr.c:2066 cp/constexpr.c:2098
+#: cp/constexpr.c:2102 cp/constexpr.c:2134
#, gcc-internal-format
msgid ""
"static type %qT of its operand is a non-public base class of dynamic type %qT"
msgstr ""
-#: cp/constexpr.c:2120
+#: cp/constexpr.c:2156
#, gcc-internal-format
msgid "%qT is an ambiguous base class of dynamic type %qT of its operand"
msgstr ""
-#: cp/constexpr.c:2123
+#: cp/constexpr.c:2159
#, gcc-internal-format
msgid ""
"dynamic type %qT of its operand does not have an unambiguous public base "
"class %qT"
msgstr ""
-#: cp/constexpr.c:2198 cp/constexpr.c:2467 cp/constexpr.c:7985
+#: cp/constexpr.c:2234 cp/constexpr.c:2503 cp/constexpr.c:8048
#, gcc-internal-format
msgid "call to non-%<constexpr%> function %qD"
msgstr ""
-#: cp/constexpr.c:2315
+#: cp/constexpr.c:2351
#, gcc-internal-format
msgid "expression %qE does not designate a %<constexpr%> function"
msgstr ""
-#: cp/constexpr.c:2388
+#: cp/constexpr.c:2424
#, gcc-internal-format
msgid "array deallocation of object allocated with non-array allocation"
msgstr ""
-#: cp/constexpr.c:2392 cp/constexpr.c:2414
+#: cp/constexpr.c:2428 cp/constexpr.c:2450
#, gcc-internal-format
msgid "allocation performed here"
msgstr ""
-#: cp/constexpr.c:2410
+#: cp/constexpr.c:2446
#, gcc-internal-format
msgid "non-array deallocation of object allocated with array allocation"
msgstr ""
-#: cp/constexpr.c:2427
+#: cp/constexpr.c:2463
#, gcc-internal-format
msgid "deallocation of already deallocated storage"
msgstr ""
-#: cp/constexpr.c:2434
+#: cp/constexpr.c:2470
#, gcc-internal-format
msgid "deallocation of storage that was not previously allocated"
msgstr ""
-#: cp/constexpr.c:2541
+#: cp/constexpr.c:2577
#, gcc-internal-format
msgid "%qD called in a constant expression before its definition is complete"
msgstr ""
-#: cp/constexpr.c:2548
+#: cp/constexpr.c:2584
#, gcc-internal-format
msgid "%qD called in a constant expression"
msgstr ""
-#: cp/constexpr.c:2552
+#: cp/constexpr.c:2588
#, gcc-internal-format
msgid "%qD used before its definition"
msgstr ""
-#: cp/constexpr.c:2643
+#: cp/constexpr.c:2679
#, gcc-internal-format
msgid "call has circular dependency"
msgstr ""
-#: cp/constexpr.c:2654
+#: cp/constexpr.c:2690
#, gcc-internal-format
msgid ""
"%<constexpr%> evaluation depth exceeds maximum of %d (use %<-fconstexpr-"
"depth=%> to increase the maximum)"
msgstr ""
-#: cp/constexpr.c:2982
+#: cp/constexpr.c:3037
#, gcc-internal-format
msgid "right operand of shift expression %q+E is negative"
msgstr ""
-#: cp/constexpr.c:2989
+#: cp/constexpr.c:3044
#, 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.c:3012
+#: cp/constexpr.c:3067
#, gcc-internal-format
msgid "left operand of shift expression %q+E is negative"
msgstr ""
-#: cp/constexpr.c:3031
+#: cp/constexpr.c:3086
#, gcc-internal-format
msgid "shift expression %q+E overflows"
msgstr ""
-#: cp/constexpr.c:3189
+#: cp/constexpr.c:3244
#, gcc-internal-format
msgid "arithmetic involving a null pointer in %qE"
msgstr ""
-#: cp/constexpr.c:3578
+#: cp/constexpr.c:3633
#, gcc-internal-format
msgid ""
"array subscript value %qE is outside the bounds of array %qD of type %qT"
msgstr ""
-#: cp/constexpr.c:3581
+#: cp/constexpr.c:3636
#, gcc-internal-format
msgid ""
"nonzero array subscript %qE is used with array %qD of type %qT with unknown "
"bounds"
msgstr ""
-#: cp/constexpr.c:3586
+#: cp/constexpr.c:3641
#, gcc-internal-format
msgid "array subscript value %qE is outside the bounds of array type %qT"
msgstr ""
-#: cp/constexpr.c:3589
+#: cp/constexpr.c:3644
#, gcc-internal-format
msgid ""
"nonzero array subscript %qE is used with array of type %qT with unknown "
"bounds"
msgstr ""
-#: cp/constexpr.c:3772
+#: cp/constexpr.c:3827
#, gcc-internal-format
msgid "accessing uninitialized array element"
msgstr ""
-#: cp/constexpr.c:3820
+#: cp/constexpr.c:3875
#, gcc-internal-format
msgid "dereferencing a null pointer in %qE"
msgstr ""
-#: cp/constexpr.c:3837 cp/constexpr.c:3936 cp/constexpr.c:6051
-#: cp/constexpr.c:6148 cp/constexpr.c:7905
+#: cp/constexpr.c:3892 cp/constexpr.c:3991 cp/constexpr.c:6114
+#: cp/constexpr.c:6211 cp/constexpr.c:7968
#, gcc-internal-format
msgid "%qE is not a constant expression"
msgstr ""
-#: cp/constexpr.c:3843
+#: cp/constexpr.c:3898
#, gcc-internal-format
msgid "mutable %qD is not usable in a constant expression"
msgstr ""
-#: cp/constexpr.c:3874 cp/constexpr.c:3896
+#: cp/constexpr.c:3929 cp/constexpr.c:3951
#, gcc-internal-format
msgid "accessing uninitialized member %qD"
msgstr ""
-#: cp/constexpr.c:3876
+#: cp/constexpr.c:3931
#, gcc-internal-format
msgid ""
"accessing %qD member instead of initialized %qD member in constant expression"
msgstr ""
-#: cp/constexpr.c:4007
+#: cp/constexpr.c:4062
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT is a union type"
msgstr ""
-#: cp/constexpr.c:4010
+#: cp/constexpr.c:4065
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT contains a union type"
msgstr ""
-#: cp/constexpr.c:4021
+#: cp/constexpr.c:4076
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT is a pointer type"
msgstr ""
-#: cp/constexpr.c:4024
+#: cp/constexpr.c:4079
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT contains a pointer type"
msgstr ""
-#: cp/constexpr.c:4035
+#: cp/constexpr.c:4090
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT is a reference type"
msgstr ""
-#: cp/constexpr.c:4038
+#: cp/constexpr.c:4093
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT contains a reference type"
msgstr ""
-#: cp/constexpr.c:4049
+#: cp/constexpr.c:4104
#, gcc-internal-format
msgid ""
"%qs is not a constant expression because %qT is a pointer to member type"
msgstr ""
-#: cp/constexpr.c:4053
+#: cp/constexpr.c:4108
#, gcc-internal-format
msgid ""
"%qs is not a constant expression because %qT contains a pointer to member "
"type"
msgstr ""
-#: cp/constexpr.c:4064
+#: cp/constexpr.c:4119
#, gcc-internal-format
msgid "%qs is not a constant expression because %qT is volatile"
msgstr ""
-#: cp/constexpr.c:4067
+#: cp/constexpr.c:4122
#, gcc-internal-format
msgid ""
"%qs is not a constant expression because %qT contains a volatile subobject"
msgstr ""
-#: cp/constexpr.c:4108
+#: cp/constexpr.c:4163
#, gcc-internal-format
msgid "%qs cannot be constant evaluated on the target"
msgstr ""
-#: cp/constexpr.c:4117 cp/constexpr.c:4127
+#: cp/constexpr.c:4172 cp/constexpr.c:4182
#, gcc-internal-format
msgid "%qs cannot be constant evaluated because the type is too large"
msgstr ""
-#: cp/constexpr.c:4147
+#: cp/constexpr.c:4202
#, gcc-internal-format
msgid "%qs cannot be constant evaluated because the argument cannot be encoded"
msgstr ""
-#: cp/constexpr.c:4171
+#: cp/constexpr.c:4226
#, gcc-internal-format
msgid "%qs accessing uninitialized byte at offset %d"
msgstr ""
-#: cp/constexpr.c:4183
+#: cp/constexpr.c:4238
#, gcc-internal-format
msgid ""
"%qs cannot be constant evaluated because the argument cannot be interpreted"
msgstr ""
-#: cp/constexpr.c:4906 cp/constexpr.c:6718
+#: cp/constexpr.c:4961 cp/constexpr.c:6781
#, gcc-internal-format
msgid "dereferencing a null pointer"
msgstr ""
-#: cp/constexpr.c:4926
+#: cp/constexpr.c:4981
#, gcc-internal-format
msgid "accessing value of %qE through a %qT glvalue in a constant expression"
msgstr ""
-#: cp/constexpr.c:4971
+#: cp/constexpr.c:5026
#, gcc-internal-format
msgid ""
"the content of uninitialized storage is not usable in a constant expression"
msgstr ""
-#: cp/constexpr.c:4973 cp/constexpr.c:4980
+#: cp/constexpr.c:5028 cp/constexpr.c:5035
#, gcc-internal-format
msgid "allocated here"
msgstr ""
-#: cp/constexpr.c:4978
+#: cp/constexpr.c:5033
#, gcc-internal-format
msgid "use of allocated storage after deallocation in a constant expression"
msgstr ""
-#: cp/constexpr.c:4983
+#: cp/constexpr.c:5038
#, gcc-internal-format
msgid "the value of %qD is not usable in a constant expression"
msgstr ""
-#: cp/constexpr.c:4990
+#: cp/constexpr.c:5045
#, gcc-internal-format
msgid "%qD used in its own initializer"
msgstr ""
-#: cp/constexpr.c:4995
+#: cp/constexpr.c:5050
#, gcc-internal-format
msgid "%q#D is not const"
msgstr ""
-#: cp/constexpr.c:4998
+#: cp/constexpr.c:5053
#, gcc-internal-format
msgid "%q#D is volatile"
msgstr ""
-#: cp/constexpr.c:5003 cp/constexpr.c:5010
+#: cp/constexpr.c:5058 cp/constexpr.c:5065
#, gcc-internal-format
msgid "%qD was not initialized with a constant expression"
msgstr ""
-#: cp/constexpr.c:5016
+#: cp/constexpr.c:5071
#, gcc-internal-format
msgid "%qD was not declared %<constexpr%>"
msgstr ""
-#: cp/constexpr.c:5019
+#: cp/constexpr.c:5074
#, gcc-internal-format
msgid "%qD does not have integral or enumeration type"
msgstr ""
-#: cp/constexpr.c:5265
+#: cp/constexpr.c:5320
#, gcc-internal-format
msgid "modification of %qE is not a constant expression"
msgstr ""
-#: cp/constexpr.c:5334
+#: cp/constexpr.c:5389
#, gcc-internal-format
msgid "change of the active member of a union from %qD to %qD"
msgstr ""
-#: cp/constexpr.c:5347
+#: cp/constexpr.c:5402
#, gcc-internal-format
msgid ""
"change of the active member of a union from %qD to %qD during initialization"
msgstr ""
-#: cp/constexpr.c:5739 cp/constexpr.c:6976
+#: cp/constexpr.c:5802 cp/constexpr.c:7039
#, gcc-internal-format
msgid "statement is not a constant expression"
msgstr ""
-#: cp/constexpr.c:5845
+#: cp/constexpr.c:5908
#, gcc-internal-format
msgid ""
"%<constexpr%> loop iteration count exceeds limit of %d (use %<-fconstexpr-"
"loop-limit=%> to increase the limit)"
msgstr ""
-#: cp/constexpr.c:5947
+#: cp/constexpr.c:6010
#, gcc-internal-format
msgid "inline assembly is not a constant expression"
msgstr ""
-#: cp/constexpr.c:5948
+#: cp/constexpr.c:6011
#, gcc-internal-format
msgid ""
"only unevaluated inline assembly is allowed in a %<constexpr%> function in C+"
"+20"
msgstr ""
-#: cp/constexpr.c:6013
+#: cp/constexpr.c:6076
#, gcc-internal-format
msgid "value %qE of type %qT is not a constant expression"
msgstr ""
-#: cp/constexpr.c:6026
+#: cp/constexpr.c:6089
#, gcc-internal-format
msgid ""
"%<constexpr%> evaluation operation count exceeds limit of %wd (use %<-"
"fconstexpr-ops-limit=%> to increase the limit)"
msgstr ""
-#: cp/constexpr.c:6208 cp/constexpr.c:8583
+#: cp/constexpr.c:6271 cp/constexpr.c:8646
#, gcc-internal-format
msgid "temporary of non-literal type %qT in a constant expression"
msgstr ""
-#: cp/constexpr.c:6636 cp/constexpr.c:8110
+#: cp/constexpr.c:6699 cp/constexpr.c:8173
#, gcc-internal-format
msgid "%<reinterpret_cast%> is not a constant expression"
msgstr ""
-#: cp/constexpr.c:6664
+#: cp/constexpr.c:6727
#, gcc-internal-format
msgid ""
"conversion from pointer type %qT to arithmetic type %qT in a constant "
"expression"
msgstr ""
-#: cp/constexpr.c:6693
+#: cp/constexpr.c:6756
#, gcc-internal-format
msgid "cast from %qT is not allowed"
msgstr ""
-#: cp/constexpr.c:6729
+#: cp/constexpr.c:6792
#, gcc-internal-format
msgid "%<reinterpret_cast<%T>(%E)%> is not a constant expression"
msgstr ""
-#: cp/constexpr.c:6834 cp/constexpr.c:8409 cp/constexpr.c:8787
+#: cp/constexpr.c:6897 cp/constexpr.c:8472 cp/constexpr.c:8850
#, gcc-internal-format
msgid "expression %qE is not a constant expression"
msgstr ""
-#: cp/constexpr.c:6929
+#: cp/constexpr.c:6992
#, gcc-internal-format
msgid "unexpected template-id %qE"
msgstr ""
-#: cp/constexpr.c:6935
+#: cp/constexpr.c:6998
#, gcc-internal-format
msgid "function concept must be called"
msgstr ""
-#: cp/constexpr.c:6960
+#: cp/constexpr.c:7023
#, gcc-internal-format
msgid "address of a call to %qs is not a constant expression"
msgstr ""
-#: cp/constexpr.c:6979
+#: cp/constexpr.c:7042
#, gcc-internal-format
msgid "unexpected expression %qE of kind %s"
msgstr ""
-#: cp/constexpr.c:7209
+#: cp/constexpr.c:7272
#, gcc-internal-format
msgid ""
"%qE is not a constant expression because it refers to mutable subobjects of "
"%qT"
msgstr ""
-#: cp/constexpr.c:7217
+#: cp/constexpr.c:7280
#, gcc-internal-format
msgid ""
"%qE is not a constant expression because it refers to an incompletely "
"initialized variable"
msgstr ""
-#: cp/constexpr.c:7232
+#: cp/constexpr.c:7295
#, gcc-internal-format
msgid ""
"%qE is not a constant expression because it refers to a result of %<operator "
"new%>"
msgstr ""
-#: cp/constexpr.c:7243
+#: cp/constexpr.c:7306
#, gcc-internal-format
msgid ""
"%qE is not a constant expression because allocated storage has not been "
"deallocated"
msgstr ""
-#: cp/constexpr.c:7265
+#: cp/constexpr.c:7328
#, gcc-internal-format
msgid "immediate evaluation returns address of immediate function %qD"
msgstr ""
-#: cp/constexpr.c:7845
+#: cp/constexpr.c:7908
#, gcc-internal-format
msgid "lvalue-to-rvalue conversion of a volatile lvalue %qE with type %qT"
msgstr ""
-#: cp/constexpr.c:8075
+#: cp/constexpr.c:8138
#, gcc-internal-format
msgid "lambda capture of %qE is not a constant expression"
msgstr ""
-#: cp/constexpr.c:8078
+#: cp/constexpr.c:8141
#, gcc-internal-format
msgid "because it is used as a glvalue"
msgstr ""
-#: cp/constexpr.c:8130
+#: cp/constexpr.c:8193
#, gcc-internal-format
msgid "%<reinterpret_cast%> from integer to pointer"
msgstr ""
-#: cp/constexpr.c:8163
+#: cp/constexpr.c:8226
#, gcc-internal-format
msgid ""
"address-of an object %qE with thread local or automatic storage is not a "
"constant expression"
msgstr ""
-#: cp/constexpr.c:8202
+#: cp/constexpr.c:8265
#, gcc-internal-format
msgid "use of %<this%> in a constant expression"
msgstr ""
-#: cp/constexpr.c:8356
+#: cp/constexpr.c:8419
#, gcc-internal-format
msgid "lambda-expression is not a constant expression before C++17"
msgstr ""
-#: cp/constexpr.c:8423
+#: cp/constexpr.c:8486
#, gcc-internal-format
msgid "virtual functions cannot be %<constexpr%> before C++20"
msgstr ""
-#: cp/constexpr.c:8438
+#: cp/constexpr.c:8501
#, gcc-internal-format
msgid ""
"%<typeid%> is not a constant expression because %qE is of polymorphic type"
msgstr ""
-#: cp/constexpr.c:8502
+#: cp/constexpr.c:8565
#, gcc-internal-format
msgid "cast to non-integral type %qT in a constant expression"
msgstr ""
-#: cp/constexpr.c:8552
+#: cp/constexpr.c:8615
#, gcc-internal-format
msgid "%qD declared %<static%> in %<constexpr%> context"
msgstr ""
-#: cp/constexpr.c:8559
+#: cp/constexpr.c:8622
#, gcc-internal-format
msgid "%qD declared %<thread_local%> in %<constexpr%> context"
msgstr ""
-#: cp/constexpr.c:8632
+#: cp/constexpr.c:8695
#, gcc-internal-format
msgid "division by zero is not a constant expression"
msgstr ""
-#: cp/constexpr.c:8728
+#: cp/constexpr.c:8791
#, gcc-internal-format
msgid "%<delete[]%> is not a constant expression"
msgstr ""
-#: cp/constexpr.c:8795
+#: cp/constexpr.c:8858
#, gcc-internal-format
msgid "non-constant array initialization"
msgstr ""
-#: cp/constexpr.c:8825
+#: cp/constexpr.c:8888
#, gcc-internal-format
msgid "%<goto%> is not a constant expression"
msgstr ""
-#: cp/constexpr.c:8834
+#: cp/constexpr.c:8897
#, gcc-internal-format
msgid "label definition is not a constant expression"
msgstr ""
-#: cp/constexpr.c:8853
+#: cp/constexpr.c:8916
#, gcc-internal-format, gfc-internal-format
msgid "unexpected AST of kind %s"
msgstr ""
@@ -49873,56 +49905,56 @@ msgstr ""
msgid "both branches of %<if%> statement marked as %qs"
msgstr ""
-#: cp/cp-gimplify.c:1325
+#: cp/cp-gimplify.c:1333
#, gcc-internal-format
msgid "%<throw%> will always call %<terminate%>"
msgstr ""
-#: cp/cp-gimplify.c:1328
+#: cp/cp-gimplify.c:1336
#, gcc-internal-format
msgid "in C++11 destructors default to %<noexcept%>"
msgstr ""
-#: cp/cp-gimplify.c:1340
+#: cp/cp-gimplify.c:1348
#, gcc-internal-format
msgid ""
"in C++11 this %<throw%> will call %<terminate%> because destructors default "
"to %<noexcept%>"
msgstr ""
-#: cp/cp-gimplify.c:2793
+#: cp/cp-gimplify.c:2773
#, gcc-internal-format
msgid "ignoring attribute %qE after earlier %qE"
msgstr ""
-#: cp/cp-gimplify.c:2815 cp/cp-gimplify.c:2827 cp/decl.c:4066 cp/method.c:978
+#: cp/cp-gimplify.c:2795 cp/cp-gimplify.c:2807 cp/decl.c:4048 cp/method.c:978
#, gcc-internal-format
msgid "%qD is not a type"
msgstr ""
-#: cp/cp-gimplify.c:2833
+#: cp/cp-gimplify.c:2813
#, gcc-internal-format
msgid "%qD is not a class type"
msgstr ""
-#: cp/cp-gimplify.c:2850
+#: cp/cp-gimplify.c:2830
#, gcc-internal-format
msgid "%qD does not have %<const char *%> type"
msgstr ""
-#: cp/cp-gimplify.c:2861
+#: cp/cp-gimplify.c:2841
#, gcc-internal-format
msgid "%qD does not have integral type"
msgstr ""
-#: cp/cp-gimplify.c:2873
+#: cp/cp-gimplify.c:2853
#, gcc-internal-format
msgid ""
"%<std::source_location::__impl%> does not contain only non-static data "
"members %<_M_file_name%>, %<_M_function_name%>, %<_M_line%> and %<_M_column%>"
msgstr ""
-#: cp/cp-gimplify.c:2977
+#: cp/cp-gimplify.c:2957
#, gcc-internal-format
msgid "evaluating %qs"
msgstr ""
@@ -49963,7 +49995,7 @@ msgstr ""
msgid "conversion from %qH to %qI discards qualifiers"
msgstr ""
-#: cp/cvt.c:498 cp/typeck.c:7969
+#: cp/cvt.c:498 cp/typeck.c:7976
#, gcc-internal-format
msgid "casting %qT to %qT does not dereference pointer"
msgstr ""
@@ -50408,7 +50440,7 @@ msgstr ""
msgid "redeclaration %qD differs in %qs from previous declaration"
msgstr ""
-#: cp/decl.c:1303 cp/decl.c:15319
+#: cp/decl.c:1303 cp/decl.c:15337
#, gcc-internal-format
msgid "previous declaration %qD"
msgstr ""
@@ -50540,8 +50572,8 @@ msgstr ""
msgid "%q#D previously defined here"
msgstr ""
-#: cp/decl.c:1901 cp/name-lookup.c:3187 cp/name-lookup.c:3216
-#: cp/name-lookup.c:3240
+#: cp/decl.c:1901 cp/name-lookup.c:3188 cp/name-lookup.c:3217
+#: cp/name-lookup.c:3241
#, gcc-internal-format
msgid "%q#D previously declared here"
msgstr ""
@@ -50576,53 +50608,53 @@ msgstr ""
msgid "previous specification in %q#D here"
msgstr ""
-#: cp/decl.c:2047
+#: cp/decl.c:2045
#, gcc-internal-format
msgid "declaration %qD conflicts with builtin"
msgstr ""
-#: cp/decl.c:2055
+#: cp/decl.c:2053
#, gcc-internal-format
msgid "declaration %qD conflicts with import"
msgstr ""
-#: cp/decl.c:2056
+#: cp/decl.c:2054
#, gcc-internal-format
msgid "import declared %q#D here"
msgstr ""
-#: cp/decl.c:2064
+#: cp/decl.c:2062
#, gcc-internal-format
msgid "conflicting exporting declaration %qD"
msgstr ""
-#: cp/decl.c:2065
+#: cp/decl.c:2063
#, gcc-internal-format
msgid "previous declaration %q#D here"
msgstr ""
-#: cp/decl.c:2090
+#: cp/decl.c:2088
#, gcc-internal-format
msgid "previous definition of %qD here"
msgstr ""
-#: cp/decl.c:2091
+#: cp/decl.c:2089
#, gcc-internal-format
msgid "previous declaration of %qD here"
msgstr ""
-#: cp/decl.c:2104
+#: cp/decl.c:2102
#, gcc-internal-format
msgid ""
"function %qD declared %<[[noreturn]]%> but its first declaration was not"
msgstr ""
-#: cp/decl.c:2149
+#: cp/decl.c:2147
#, gcc-internal-format
msgid "redundant redeclaration of %qD in same scope"
msgstr ""
-#: cp/decl.c:2166
+#: cp/decl.c:2164
#, gcc-internal-format
msgid "deleted definition of %qD is not first declaration"
msgstr ""
@@ -50635,12 +50667,12 @@ msgstr ""
#. that specialization that would cause an implicit
#. instantiation to take place, in every translation unit in
#. which such a use occurs.
-#: cp/decl.c:2640
+#: cp/decl.c:2635
#, gcc-internal-format
msgid "explicit specialization of %qD after first use"
msgstr ""
-#: cp/decl.c:2779
+#: cp/decl.c:2774
#, gcc-internal-format
msgid ""
"%qD: visibility attribute ignored because it conflicts with previous "
@@ -50648,37 +50680,37 @@ msgid ""
msgstr ""
#. Reject two definitions.
-#: cp/decl.c:3052 cp/decl.c:3081 cp/decl.c:3123 cp/decl.c:3140 cp/decl.c:3243
+#: cp/decl.c:3034 cp/decl.c:3063 cp/decl.c:3105 cp/decl.c:3122 cp/decl.c:3225
#, gcc-internal-format
msgid "redefinition of %q#D"
msgstr ""
-#: cp/decl.c:3068
+#: cp/decl.c:3050
#, gcc-internal-format
msgid "%qD conflicts with used function"
msgstr ""
-#: cp/decl.c:3078
+#: cp/decl.c:3060
#, gcc-internal-format
msgid "%q#D not declared in class"
msgstr ""
-#: cp/decl.c:3092 cp/decl.c:3150
+#: cp/decl.c:3074 cp/decl.c:3132
#, gcc-internal-format
msgid "%q+D redeclared inline with %<gnu_inline%> attribute"
msgstr ""
-#: cp/decl.c:3095 cp/decl.c:3153
+#: cp/decl.c:3077 cp/decl.c:3135
#, gcc-internal-format
msgid "%q+D redeclared inline without %<gnu_inline%> attribute"
msgstr ""
-#: cp/decl.c:3102 cp/decl.c:3160
+#: cp/decl.c:3084 cp/decl.c:3142
#, gcc-internal-format
msgid "deduction guide %q+D redeclared"
msgstr ""
-#: cp/decl.c:3109
+#: cp/decl.c:3091
#, gcc-internal-format
msgid "comparison operator %q+D defaulted after its first declaration"
msgstr ""
@@ -50686,2382 +50718,2397 @@ msgstr ""
#. is_primary=
#. is_partial=
#. is_friend_decl=
-#: cp/decl.c:3174
+#: cp/decl.c:3156
#, gcc-internal-format
msgid "redeclaration of friend %q#D may not have default template arguments"
msgstr ""
-#: cp/decl.c:3189
+#: cp/decl.c:3171
#, gcc-internal-format
msgid "thread-local declaration of %q#D follows non-thread-local declaration"
msgstr ""
-#: cp/decl.c:3192
+#: cp/decl.c:3174
#, gcc-internal-format
msgid "non-thread-local declaration of %q#D follows thread-local declaration"
msgstr ""
-#: cp/decl.c:3207 cp/decl.c:3251 cp/name-lookup.c:2730 cp/name-lookup.c:3214
-#: cp/name-lookup.c:3238
+#: cp/decl.c:3189 cp/decl.c:3233 cp/name-lookup.c:2731 cp/name-lookup.c:3215
+#: cp/name-lookup.c:3239
#, gcc-internal-format
msgid "redeclaration of %q#D"
msgstr ""
-#: cp/decl.c:3234
+#: cp/decl.c:3216
#, gcc-internal-format
msgid "redundant redeclaration of %<constexpr%> static data member %qD"
msgstr ""
-#: cp/decl.c:3300
+#: cp/decl.c:3282
#, gcc-internal-format
msgid "local label %qE conflicts with existing label"
msgstr ""
-#: cp/decl.c:3301
+#: cp/decl.c:3283
#, gcc-internal-format
msgid "previous label"
msgstr ""
-#: cp/decl.c:3395
+#: cp/decl.c:3377
#, gcc-internal-format
msgid " from here"
msgstr ""
-#: cp/decl.c:3418 cp/decl.c:3646
+#: cp/decl.c:3400 cp/decl.c:3628
#, gcc-internal-format
msgid " exits OpenMP structured block"
msgstr ""
-#: cp/decl.c:3446
+#: cp/decl.c:3428
#, gcc-internal-format
msgid " crosses initialization of %q#D"
msgstr ""
-#: cp/decl.c:3449
+#: cp/decl.c:3431
#, gcc-internal-format
msgid " enters scope of %q#D, which has non-trivial destructor"
msgstr ""
-#: cp/decl.c:3463 cp/decl.c:3617
+#: cp/decl.c:3445 cp/decl.c:3599
#, gcc-internal-format
msgid " enters %<try%> block"
msgstr ""
-#: cp/decl.c:3469 cp/decl.c:3599 cp/decl.c:3619
+#: cp/decl.c:3451 cp/decl.c:3581 cp/decl.c:3601
#, gcc-internal-format
msgid " enters %<catch%> block"
msgstr ""
-#: cp/decl.c:3475 cp/decl.c:3629
+#: cp/decl.c:3457 cp/decl.c:3611
#, gcc-internal-format
msgid " enters OpenMP structured block"
msgstr ""
-#: cp/decl.c:3481 cp/decl.c:3621
+#: cp/decl.c:3463 cp/decl.c:3603
#, gcc-internal-format
msgid " enters synchronized or atomic statement"
msgstr ""
-#: cp/decl.c:3488 cp/decl.c:3623
+#: cp/decl.c:3470 cp/decl.c:3605
#, gcc-internal-format
msgid " enters %<constexpr if%> statement"
msgstr ""
-#: cp/decl.c:3606
+#: cp/decl.c:3588
#, gcc-internal-format
msgid " skips initialization of %q#D"
msgstr ""
-#: cp/decl.c:3609
+#: cp/decl.c:3591
#, gcc-internal-format
msgid " enters scope of %q#D which has non-trivial destructor"
msgstr ""
-#: cp/decl.c:4073 cp/parser.c:6807
+#: cp/decl.c:4055 cp/parser.c:6807
#, gcc-internal-format
msgid "%qD used without template arguments"
msgstr ""
-#: cp/decl.c:4084
+#: cp/decl.c:4061
+#, gcc-internal-format
+msgid "%qD is a function, not a type"
+msgstr ""
+
+#: cp/decl.c:4072
#, gcc-internal-format
msgid "%q#T is not a class"
msgstr ""
-#: cp/decl.c:4112 cp/decl.c:4198
+#: cp/decl.c:4100 cp/decl.c:4186
#, gcc-internal-format
msgid "no class template named %q#T in %q#T"
msgstr ""
-#: cp/decl.c:4113
+#: cp/decl.c:4101
#, gcc-internal-format
msgid "no type named %q#T in %q#T"
msgstr ""
-#: cp/decl.c:4126
+#: cp/decl.c:4114
#, gcc-internal-format
msgid "lookup of %qT in %qT is ambiguous"
msgstr ""
-#: cp/decl.c:4135
+#: cp/decl.c:4123
#, gcc-internal-format
msgid "%<typename %T::%D%> names %q#T, which is not a class template"
msgstr ""
-#: cp/decl.c:4142
+#: cp/decl.c:4130
#, gcc-internal-format
msgid "%<typename %T::%D%> names %q#T, which is not a type"
msgstr ""
-#: cp/decl.c:4207
+#: cp/decl.c:4195
#, gcc-internal-format
msgid "template parameters do not match template %qD"
msgstr ""
-#: cp/decl.c:4543
+#: cp/decl.c:4531
#, gcc-internal-format
msgid "%<-faligned-new=%d%> is not a power of two"
msgstr ""
-#: cp/decl.c:5042
+#: cp/decl.c:5038
#, gcc-internal-format
msgid "member %q+#D with constructor not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:5045
+#: cp/decl.c:5041
#, gcc-internal-format
msgid "member %q+#D with destructor not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:5048
+#: cp/decl.c:5044
#, gcc-internal-format
msgid ""
"member %q+#D with copy assignment operator not allowed in anonymous aggregate"
msgstr ""
-#: cp/decl.c:5067
+#: cp/decl.c:5063
#, gcc-internal-format
msgid "attribute ignored in declaration of %q#T"
msgstr ""
-#: cp/decl.c:5070
+#: cp/decl.c:5066
#, gcc-internal-format
msgid "attribute for %q#T must follow the %qs keyword"
msgstr ""
-#: cp/decl.c:5112
+#: cp/decl.c:5108
#, gcc-internal-format
msgid "multiple types in one declaration"
msgstr ""
-#: cp/decl.c:5117
+#: cp/decl.c:5113
#, gcc-internal-format
msgid "redeclaration of C++ built-in type %qT"
msgstr ""
-#: cp/decl.c:5134
+#: cp/decl.c:5130
#, gcc-internal-format
msgid "%<auto%> can only be specified for variables or function declarations"
msgstr ""
-#: cp/decl.c:5167
+#: cp/decl.c:5163
#, gcc-internal-format
msgid "missing type-name in typedef-declaration"
msgstr ""
-#: cp/decl.c:5175
+#: cp/decl.c:5171
#, gcc-internal-format
msgid "ISO C++ prohibits anonymous structs"
msgstr ""
-#: cp/decl.c:5182
+#: cp/decl.c:5178
#, gcc-internal-format
msgid "%<inline%> can only be specified for functions"
msgstr ""
-#: cp/decl.c:5185
+#: cp/decl.c:5181
#, gcc-internal-format
msgid "%<virtual%> can only be specified for functions"
msgstr ""
-#: cp/decl.c:5190
+#: cp/decl.c:5186
#, gcc-internal-format
msgid "%<friend%> can only be specified inside a class"
msgstr ""
-#: cp/decl.c:5193
+#: cp/decl.c:5189
#, gcc-internal-format
msgid "%<explicit%> can only be specified for constructors"
msgstr ""
-#: cp/decl.c:5196
+#: cp/decl.c:5192
#, gcc-internal-format
msgid "a storage class can only be specified for objects and functions"
msgstr ""
-#: cp/decl.c:5200
+#: cp/decl.c:5196
#, gcc-internal-format
msgid "%<const%> can only be specified for objects and functions"
msgstr ""
-#: cp/decl.c:5204
+#: cp/decl.c:5200
#, gcc-internal-format
msgid "%<volatile%> can only be specified for objects and functions"
msgstr ""
-#: cp/decl.c:5208
+#: cp/decl.c:5204
#, gcc-internal-format
msgid "%<__restrict%> can only be specified for objects and functions"
msgstr ""
-#: cp/decl.c:5212
+#: cp/decl.c:5208
#, gcc-internal-format
msgid "%<__thread%> can only be specified for objects and functions"
msgstr ""
-#: cp/decl.c:5216
+#: cp/decl.c:5212
#, gcc-internal-format
msgid "%<typedef%> was ignored in this declaration"
msgstr ""
-#: cp/decl.c:5219 cp/decl.c:5222 cp/decl.c:5225
+#: cp/decl.c:5215 cp/decl.c:5218 cp/decl.c:5221
#, gcc-internal-format
msgid "%qs cannot be used for type declarations"
msgstr ""
-#: cp/decl.c:5247
+#: cp/decl.c:5243
#, gcc-internal-format
msgid "attribute ignored in explicit instantiation %q#T"
msgstr ""
-#: cp/decl.c:5250
+#: cp/decl.c:5246
#, gcc-internal-format
msgid "no attribute can be applied to an explicit instantiation"
msgstr ""
-#: cp/decl.c:5322
+#: cp/decl.c:5318
#, 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.c:5326
+#: cp/decl.c:5322
#, gcc-internal-format
msgid ""
"ignoring attributes applied to dependent type %qT without an associated "
"declaration"
msgstr ""
-#: cp/decl.c:5390 cp/decl2.c:859
+#: cp/decl.c:5386 cp/decl2.c:859
#, gcc-internal-format
msgid "typedef %qD is initialized (use %qs instead)"
msgstr ""
-#: cp/decl.c:5403
+#: cp/decl.c:5399
#, gcc-internal-format
msgid "declaration of %q#D has %<extern%> and is initialized"
msgstr ""
-#: cp/decl.c:5441
+#: cp/decl.c:5437
#, gcc-internal-format
msgid "definition of %q#D is marked %<dllimport%>"
msgstr ""
-#: cp/decl.c:5465
+#: cp/decl.c:5461
#, gcc-internal-format
msgid "%q+#D is not a static data member of %q#T"
msgstr ""
-#: cp/decl.c:5473
+#: cp/decl.c:5469
#, gcc-internal-format
msgid "non-member-template declaration of %qD"
msgstr ""
-#: cp/decl.c:5474
+#: cp/decl.c:5470
#, gcc-internal-format
msgid "does not match member template declaration here"
msgstr ""
-#: cp/decl.c:5486
+#: cp/decl.c:5482
#, gcc-internal-format
msgid "ISO C++ does not permit %<%T::%D%> to be defined as %<%T::%D%>"
msgstr ""
-#: cp/decl.c:5498
+#: cp/decl.c:5494
#, gcc-internal-format
msgid "duplicate initialization of %qD"
msgstr ""
-#: cp/decl.c:5546
+#: cp/decl.c:5542
#, gcc-internal-format
msgid "declaration of %q#D outside of class is not definition"
msgstr ""
-#: cp/decl.c:5563
+#: cp/decl.c:5559
#, gcc-internal-format
msgid "block-scope extern declaration %q#D not permitted in module purview"
msgstr ""
-#: cp/decl.c:5598
+#: cp/decl.c:5594
#, gcc-internal-format
msgid "%qD declared %<thread_local%> in %qs function"
msgstr ""
-#: cp/decl.c:5603
+#: cp/decl.c:5599
#, gcc-internal-format
msgid "%qD declared %<static%> in %qs function"
msgstr ""
-#: cp/decl.c:5675
+#: cp/decl.c:5671
#, gcc-internal-format
msgid "variable %q#D has initializer but incomplete type"
msgstr ""
-#: cp/decl.c:5681 cp/decl.c:6834
+#: cp/decl.c:5677 cp/decl.c:6830
#, gcc-internal-format
msgid "elements of array %q#D have incomplete type"
msgstr ""
-#: cp/decl.c:5691
+#: cp/decl.c:5687
#, gcc-internal-format
msgid "aggregate %q#D has incomplete type and cannot be defined"
msgstr ""
-#: cp/decl.c:5758
+#: cp/decl.c:5754
#, gcc-internal-format
msgid "%qD declared as reference but not initialized"
msgstr ""
-#: cp/decl.c:5841
+#: cp/decl.c:5837
#, gcc-internal-format
msgid "name used in a GNU-style designated initializer for an array"
msgstr ""
-#: cp/decl.c:5847
+#: cp/decl.c:5843
#, gcc-internal-format
msgid "name %qD used in a GNU-style designated initializer for an array"
msgstr ""
-#: cp/decl.c:5866
+#: cp/decl.c:5862
#, gcc-internal-format
msgid "non-trivial designated initializers not supported"
msgstr ""
-#: cp/decl.c:5870
+#: cp/decl.c:5866
#, gcc-internal-format
msgid "C99 designator %qE is not an integral constant-expression"
msgstr ""
-#: cp/decl.c:5926
+#: cp/decl.c:5922
#, gcc-internal-format
msgid "initializer fails to determine size of %qD"
msgstr ""
-#: cp/decl.c:5933
+#: cp/decl.c:5929
#, gcc-internal-format
msgid "array size missing in %qD"
msgstr ""
-#: cp/decl.c:5945
+#: cp/decl.c:5941
#, gcc-internal-format
msgid "zero-size array %qD"
msgstr ""
-#: cp/decl.c:5985
+#: cp/decl.c:5981
#, gcc-internal-format
msgid "storage size of %qD isn%'t known"
msgstr ""
-#: cp/decl.c:6010
+#: cp/decl.c:6006
#, gcc-internal-format
msgid "storage size of %qD isn%'t constant"
msgstr ""
-#: cp/decl.c:6061
+#: cp/decl.c:6057
#, gcc-internal-format
msgid ""
"sorry: semantics of inline variable %q#D are wrong (you%'ll wind up with "
"multiple copies)"
msgstr ""
-#: cp/decl.c:6065
+#: cp/decl.c:6061
#, 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.c:6071
+#: cp/decl.c:6067
#, gcc-internal-format
msgid "you can work around this by removing the initializer"
msgstr ""
-#: cp/decl.c:6113
+#: cp/decl.c:6109
#, gcc-internal-format
msgid "uninitialized %<const %D%>"
msgstr ""
-#: cp/decl.c:6120
+#: cp/decl.c:6116
#, gcc-internal-format
msgid "uninitialized variable %qD in %<constexpr%> function"
msgstr ""
-#: cp/decl.c:6129
+#: cp/decl.c:6125
#, gcc-internal-format
msgid "uninitialized variable %qD in %<constexpr%> context"
msgstr ""
-#: cp/decl.c:6137
+#: cp/decl.c:6133
#, gcc-internal-format
msgid "%q#T has no user-provided default constructor"
msgstr ""
-#: cp/decl.c:6141
+#: cp/decl.c:6137
#, gcc-internal-format
msgid ""
"constructor is not user-provided because it is explicitly defaulted in the "
"class body"
msgstr ""
-#: cp/decl.c:6144
+#: cp/decl.c:6140
#, gcc-internal-format
msgid "and the implicitly-defined constructor does not initialize %q#D"
msgstr ""
-#: cp/decl.c:6312
+#: cp/decl.c:6308
#, gcc-internal-format
msgid "invalid type %qT as initializer for a vector of type %qT"
msgstr ""
-#: cp/decl.c:6369
+#: cp/decl.c:6365
#, gcc-internal-format
msgid "initializer for %qT must be brace-enclosed"
msgstr ""
-#: cp/decl.c:6407
+#: cp/decl.c:6403
#, gcc-internal-format
msgid "%<[%E] =%> used in a GNU-style designated initializer for class %qT"
msgstr ""
-#: cp/decl.c:6415
+#: cp/decl.c:6411
#, gcc-internal-format
msgid "%qT has no non-static data member named %qD"
msgstr ""
-#: cp/decl.c:6443
+#: cp/decl.c:6439
#, gcc-internal-format
msgid "invalid initializer for %q#D"
msgstr ""
-#: cp/decl.c:6494
+#: cp/decl.c:6490
#, gcc-internal-format
msgid "C99 designator %qE outside aggregate initializer"
msgstr ""
-#: cp/decl.c:6533 cp/decl.c:6793 cp/typeck2.c:1380 cp/typeck2.c:1694
-#: cp/typeck2.c:1742 cp/typeck2.c:1789
+#: cp/decl.c:6529 cp/decl.c:6789 cp/typeck2.c:1377 cp/typeck2.c:1691
+#: cp/typeck2.c:1739 cp/typeck2.c:1786
#, gcc-internal-format
msgid "too many initializers for %qT"
msgstr ""
-#: cp/decl.c:6574
+#: cp/decl.c:6570
#, gcc-internal-format
msgid "braces around scalar initializer for type %qT"
msgstr ""
-#: cp/decl.c:6584
+#: cp/decl.c:6580
#, gcc-internal-format
msgid "too many braces around scalar initializer for type %qT"
msgstr ""
-#: cp/decl.c:6702
+#: cp/decl.c:6698
#, gcc-internal-format
msgid "missing braces around initializer for %qT"
msgstr ""
-#: cp/decl.c:6822
+#: cp/decl.c:6818
#, gcc-internal-format
msgid "structured binding has incomplete type %qT"
msgstr ""
-#: cp/decl.c:6836
+#: cp/decl.c:6832
#, gcc-internal-format
msgid "elements of array %q#T have incomplete type"
msgstr ""
-#: cp/decl.c:6849
+#: cp/decl.c:6845
#, gcc-internal-format
msgid "variable-sized compound literal"
msgstr ""
-#: cp/decl.c:6904
+#: cp/decl.c:6900
#, gcc-internal-format
msgid "%q#D has incomplete type"
msgstr ""
-#: cp/decl.c:6925
+#: cp/decl.c:6921
#, gcc-internal-format
msgid "scalar object %qD requires one element in initializer"
msgstr ""
-#: cp/decl.c:6970
+#: cp/decl.c:6966
#, gcc-internal-format
msgid "in C++98 %qD must be initialized by constructor, not by %<{...}%>"
msgstr ""
-#: cp/decl.c:7102
+#: cp/decl.c:7098
#, gcc-internal-format
msgid "array %qD initialized by parenthesized string literal %qE"
msgstr ""
-#: cp/decl.c:7137
+#: cp/decl.c:7133
#, gcc-internal-format
msgid "initializer invalid for static member with constructor"
msgstr ""
-#: cp/decl.c:7139
+#: cp/decl.c:7135
#, gcc-internal-format
msgid "non-constant in-class initialization invalid for static member %qD"
msgstr ""
-#: cp/decl.c:7142
+#: cp/decl.c:7138
#, gcc-internal-format
msgid ""
"non-constant in-class initialization invalid for non-inline static member %qD"
msgstr ""
-#: cp/decl.c:7147
+#: cp/decl.c:7143
#, gcc-internal-format
msgid "(an out of class initialization is required)"
msgstr ""
-#: cp/decl.c:7332
+#: cp/decl.c:7328
#, gcc-internal-format
msgid "reference %qD is initialized with itself"
msgstr ""
-#: cp/decl.c:7590
+#: cp/decl.c:7586
#, gcc-internal-format
msgid "could not find variant declaration"
msgstr ""
-#: cp/decl.c:7614
+#: cp/decl.c:7610
#, gcc-internal-format
msgid "%<declare variant%> on constructor %qD"
msgstr ""
-#: cp/decl.c:7619
+#: cp/decl.c:7615
#, gcc-internal-format
msgid "%<declare variant%> on destructor %qD"
msgstr ""
-#: cp/decl.c:7624
+#: cp/decl.c:7620
#, gcc-internal-format
msgid "%<declare variant%> on defaulted %qD"
msgstr ""
-#: cp/decl.c:7629
+#: cp/decl.c:7625
#, gcc-internal-format
msgid "%<declare variant%> on deleted %qD"
msgstr ""
-#: cp/decl.c:7634
+#: cp/decl.c:7630
#, gcc-internal-format
msgid "%<declare variant%> on virtual %qD"
msgstr ""
-#: cp/decl.c:7684
+#: cp/decl.c:7680
#, gcc-internal-format
msgid "assignment (not initialization) in declaration"
msgstr ""
-#: cp/decl.c:7702 cp/decl.c:14061
+#: cp/decl.c:7698 cp/decl.c:14079
#, gcc-internal-format
msgid "ISO C++17 does not allow %<register%> storage class specifier"
msgstr ""
-#: cp/decl.c:7706 cp/decl.c:14065
+#: cp/decl.c:7702 cp/decl.c:14083
#, gcc-internal-format
msgid "%<register%> storage class specifier used"
msgstr ""
-#: cp/decl.c:7759
+#: cp/decl.c:7758
#, gcc-internal-format
msgid ""
"initializer for %<decltype(auto) %D%> has function type; did you forget the "
"%<()%>?"
msgstr ""
-#: cp/decl.c:7867
+#: cp/decl.c:7866
#, gcc-internal-format
msgid "variable concept has no initializer"
msgstr ""
-#: cp/decl.c:7926
+#: cp/decl.c:7925
#, gcc-internal-format
msgid "shadowing previous type declaration of %q#D"
msgstr ""
-#: cp/decl.c:7969
+#: cp/decl.c:7968
#, gcc-internal-format
msgid ""
"%<constinit%> can only be applied to a variable with static or thread "
"storage duration"
msgstr ""
-#: cp/decl.c:8140
+#: cp/decl.c:8146
#, gcc-internal-format
msgid "function %q#D is initialized like a variable"
msgstr ""
-#: cp/decl.c:8246
+#: cp/decl.c:8252
#, gcc-internal-format
msgid ""
"cannot decompose class type %qT because it has an anonymous struct member"
msgstr ""
-#: cp/decl.c:8249
+#: cp/decl.c:8255
#, gcc-internal-format
msgid ""
"cannot decompose class type %qT because it has an anonymous union member"
msgstr ""
-#: cp/decl.c:8256
+#: cp/decl.c:8262
#, gcc-internal-format
msgid "cannot decompose inaccessible member %qD of %qT"
msgstr ""
-#: cp/decl.c:8282
+#: cp/decl.c:8288
#, gcc-internal-format
msgid ""
"cannot decompose class type %qT: both it and its base class %qT have non-"
"static data members"
msgstr ""
-#: cp/decl.c:8291
+#: cp/decl.c:8297
#, gcc-internal-format
msgid ""
"cannot decompose class type %qT: its base classes %qT and %qT have non-"
"static data members"
msgstr ""
-#: cp/decl.c:8501
+#: cp/decl.c:8507
#, gcc-internal-format
msgid "structured binding refers to incomplete type %qT"
msgstr ""
-#: cp/decl.c:8517
+#: cp/decl.c:8523
#, gcc-internal-format
msgid "cannot decompose variable length array %qT"
msgstr ""
-#: cp/decl.c:8526 cp/decl.c:8611
+#: cp/decl.c:8532 cp/decl.c:8617
#, 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.c:8530
+#: cp/decl.c:8536
#, 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.c:8533
+#: cp/decl.c:8539
#, gcc-internal-format
msgid "while %qT decomposes into %wu element"
msgid_plural "while %qT decomposes into %wu elements"
msgstr[0] ""
msgstr[1] ""
-#: cp/decl.c:8578
+#: cp/decl.c:8584
#, gcc-internal-format
msgid "cannot decompose variable length vector %qT"
msgstr ""
-#: cp/decl.c:8604
+#: cp/decl.c:8610
#, gcc-internal-format
msgid "%<std::tuple_size<%T>::value%> is not an integral constant expression"
msgstr ""
-#: cp/decl.c:8613
+#: cp/decl.c:8619
#, gcc-internal-format
msgid "while %qT decomposes into %E elements"
msgstr ""
-#: cp/decl.c:8634
+#: cp/decl.c:8640
+#, gcc-internal-format
+msgid "%<std::tuple_element<%u, %T>::type%> is %<void%>"
+msgstr ""
+
+#: cp/decl.c:8646
#, gcc-internal-format
msgid "in initialization of structured binding variable %qD"
msgstr ""
-#: cp/decl.c:8663
+#: cp/decl.c:8675
#, gcc-internal-format
msgid "cannot decompose union type %qT"
msgstr ""
-#: cp/decl.c:8668
+#: cp/decl.c:8680
#, gcc-internal-format
msgid "cannot decompose non-array non-class type %qT"
msgstr ""
-#: cp/decl.c:8673
+#: cp/decl.c:8685
#, gcc-internal-format
msgid "cannot decompose lambda closure type %qT"
msgstr ""
-#: cp/decl.c:8679
+#: cp/decl.c:8691
#, gcc-internal-format
msgid "structured binding refers to incomplete class type %qT"
msgstr ""
-#: cp/decl.c:8688
+#: cp/decl.c:8700
#, gcc-internal-format
msgid "cannot decompose class type %qT without non-static data members"
msgstr ""
-#: cp/decl.c:9155
+#: cp/decl.c:9167
#, gcc-internal-format
msgid ""
"non-local variable %qD declared %<__thread%> needs dynamic initialization"
msgstr ""
-#: cp/decl.c:9158
+#: cp/decl.c:9170
#, gcc-internal-format
msgid ""
"non-local variable %qD declared %<__thread%> has a non-trivial destructor"
msgstr ""
-#: cp/decl.c:9163
+#: cp/decl.c:9175
#, gcc-internal-format
msgid "C++11 %<thread_local%> allows dynamic initialization and destruction"
msgstr ""
-#: cp/decl.c:9400
+#: cp/decl.c:9412
#, gcc-internal-format
msgid "initializer fails to determine size of %qT"
msgstr ""
-#: cp/decl.c:9404
+#: cp/decl.c:9416
#, gcc-internal-format
msgid "array size missing in %qT"
msgstr ""
-#: cp/decl.c:9407
+#: cp/decl.c:9419
#, gcc-internal-format
msgid "zero-size array %qT"
msgstr ""
-#: cp/decl.c:9423
+#: cp/decl.c:9435
#, gcc-internal-format
msgid "destructor for alien class %qT cannot be a member"
msgstr ""
-#: cp/decl.c:9425
+#: cp/decl.c:9437
#, gcc-internal-format
msgid "constructor for alien class %qT cannot be a member"
msgstr ""
-#: cp/decl.c:9451
+#: cp/decl.c:9463
#, gcc-internal-format
msgid "%qD declared as a %<virtual%> variable"
msgstr ""
-#: cp/decl.c:9453
+#: cp/decl.c:9465
#, gcc-internal-format
msgid ""
"%<const%> and %<volatile%> function specifiers on %qD invalid in variable "
"declaration"
msgstr ""
-#: cp/decl.c:9459
+#: cp/decl.c:9471
#, gcc-internal-format
msgid "%qD declared as a %<virtual%> parameter"
msgstr ""
-#: cp/decl.c:9462
+#: cp/decl.c:9474
#, gcc-internal-format
msgid "%qD declared as an %<inline%> parameter"
msgstr ""
-#: cp/decl.c:9464
+#: cp/decl.c:9476
#, gcc-internal-format
msgid ""
"%<const%> and %<volatile%> function specifiers on %qD invalid in parameter "
"declaration"
msgstr ""
-#: cp/decl.c:9470
+#: cp/decl.c:9482
#, gcc-internal-format
msgid "%qD declared as a %<virtual%> type"
msgstr ""
-#: cp/decl.c:9473
+#: cp/decl.c:9485
#, gcc-internal-format
msgid "%qD declared as an %<inline%> type"
msgstr ""
-#: cp/decl.c:9475
+#: cp/decl.c:9487
#, gcc-internal-format
msgid ""
"%<const%> and %<volatile%> function specifiers on %qD invalid in type "
"declaration"
msgstr ""
-#: cp/decl.c:9481
+#: cp/decl.c:9493
#, gcc-internal-format
msgid "%qD declared as a %<virtual%> field"
msgstr ""
-#: cp/decl.c:9484
+#: cp/decl.c:9496
#, gcc-internal-format
msgid "%qD declared as an %<inline%> field"
msgstr ""
-#: cp/decl.c:9486
+#: cp/decl.c:9498
#, gcc-internal-format
msgid ""
"%<const%> and %<volatile%> function specifiers on %qD invalid in field "
"declaration"
msgstr ""
-#: cp/decl.c:9493
+#: cp/decl.c:9505
#, gcc-internal-format
msgid "%q+D declared as a friend"
msgstr ""
-#: cp/decl.c:9500
+#: cp/decl.c:9512
#, gcc-internal-format
msgid "%q+D declared with an exception specification"
msgstr ""
-#: cp/decl.c:9532
+#: cp/decl.c:9544
#, gcc-internal-format
msgid "definition of %qD is not in namespace enclosing %qT"
msgstr ""
-#: cp/decl.c:9572
+#: cp/decl.c:9584
#, gcc-internal-format
msgid "static member function %q#D declared with type qualifiers"
msgstr ""
-#: cp/decl.c:9583
+#: cp/decl.c:9595
#, gcc-internal-format
msgid "concept %q#D declared with function parameters"
msgstr ""
-#: cp/decl.c:9590
+#: cp/decl.c:9602
#, gcc-internal-format
msgid "concept %q#D declared with a deduced return type"
msgstr ""
-#: cp/decl.c:9593
+#: cp/decl.c:9605
#, gcc-internal-format
msgid "concept %q#D with non-%<bool%> return type %qT"
msgstr ""
-#: cp/decl.c:9669
+#: cp/decl.c:9681
#, gcc-internal-format
msgid "concept %qD has no definition"
msgstr ""
-#: cp/decl.c:9691
+#: cp/decl.c:9703
#, gcc-internal-format
msgid "a function concept cannot be constrained"
msgstr ""
-#: cp/decl.c:9701
+#: cp/decl.c:9713
#, gcc-internal-format
msgid "constraints on a non-templated function"
msgstr ""
-#: cp/decl.c:9746
+#: cp/decl.c:9758
#, gcc-internal-format
msgid "defining explicit specialization %qD in friend declaration"
msgstr ""
-#: cp/decl.c:9757
+#: cp/decl.c:9769
#, gcc-internal-format
msgid "invalid use of template-id %qD in declaration of primary template"
msgstr ""
-#: cp/decl.c:9776
+#: cp/decl.c:9788
#, gcc-internal-format
msgid ""
"default arguments are not allowed in declaration of friend template "
"specialization %qD"
msgstr ""
-#: cp/decl.c:9785
+#: cp/decl.c:9797
#, gcc-internal-format
msgid ""
"%<inline%> is not allowed in declaration of friend template specialization "
"%qD"
msgstr ""
-#: cp/decl.c:9802
+#: cp/decl.c:9814
#, gcc-internal-format
msgid ""
"friend declaration of %qD specifies default arguments and isn%'t a definition"
msgstr ""
-#: cp/decl.c:9847
+#: cp/decl.c:9859
#, gcc-internal-format
msgid "cannot declare %<::main%> to be a template"
msgstr ""
-#: cp/decl.c:9850
+#: cp/decl.c:9862
#, gcc-internal-format
msgid "cannot declare %<::main%> to be inline"
msgstr ""
-#: cp/decl.c:9853 cp/decl.c:9856
+#: cp/decl.c:9865 cp/decl.c:9868
#, gcc-internal-format
msgid "cannot declare %<::main%> to be %qs"
msgstr ""
-#: cp/decl.c:9858
+#: cp/decl.c:9870
#, gcc-internal-format
msgid "cannot declare %<::main%> to be static"
msgstr ""
-#: cp/decl.c:9920
+#: cp/decl.c:9932
#, gcc-internal-format
msgid "static member function %qD cannot have cv-qualifier"
msgstr ""
-#: cp/decl.c:9921
+#: cp/decl.c:9933
#, gcc-internal-format
msgid "non-member function %qD cannot have cv-qualifier"
msgstr ""
-#: cp/decl.c:9929
+#: cp/decl.c:9941
#, gcc-internal-format
msgid "static member function %qD cannot have ref-qualifier"
msgstr ""
-#: cp/decl.c:9930
+#: cp/decl.c:9942
#, gcc-internal-format
msgid "non-member function %qD cannot have ref-qualifier"
msgstr ""
-#: cp/decl.c:9940
+#: cp/decl.c:9952
#, gcc-internal-format
msgid "deduction guide %qD must be declared at namespace scope"
msgstr ""
-#: cp/decl.c:9948
+#: cp/decl.c:9960
#, gcc-internal-format
msgid "deduction guide %qD must be declared in the same scope as %qT"
msgstr ""
-#: cp/decl.c:9955
+#: cp/decl.c:9967
#, gcc-internal-format
msgid "deduction guide %qD must not have a function body"
msgstr ""
-#: cp/decl.c:9968
+#: cp/decl.c:9980
#, gcc-internal-format
msgid "literal operator with C linkage"
msgstr ""
-#: cp/decl.c:9978
+#: cp/decl.c:9990
#, gcc-internal-format
msgid "%qD has invalid argument list"
msgstr ""
-#: cp/decl.c:9986
+#: cp/decl.c:9998
#, gcc-internal-format
msgid "integer suffix %qs shadowed by implementation"
msgstr ""
-#: cp/decl.c:9992
+#: cp/decl.c:10004
#, gcc-internal-format
msgid "floating-point suffix %qs shadowed by implementation"
msgstr ""
-#: cp/decl.c:9999
+#: cp/decl.c:10011
#, gcc-internal-format
msgid ""
"literal operator suffixes not preceded by %<_%> are reserved for future "
"standardization"
msgstr ""
-#: cp/decl.c:10004
+#: cp/decl.c:10016
#, gcc-internal-format
msgid "%qD must be a non-member function"
msgstr ""
-#: cp/decl.c:10087
+#: cp/decl.c:10099
#, gcc-internal-format
msgid "%<::main%> must return %<int%>"
msgstr ""
-#: cp/decl.c:10127
+#: cp/decl.c:10139
#, gcc-internal-format
msgid "definition of implicitly-declared %qD"
msgstr ""
-#: cp/decl.c:10132
+#: cp/decl.c:10144
#, gcc-internal-format
msgid "definition of explicitly-defaulted %q+D"
msgstr ""
-#: cp/decl.c:10134
+#: cp/decl.c:10146
#, gcc-internal-format
msgid "%q#D explicitly defaulted here"
msgstr ""
-#: cp/decl.c:10151
+#: cp/decl.c:10163
#, gcc-internal-format
msgid "no %q#D member function declared in class %qT"
msgstr ""
-#: cp/decl.c:10344
+#: cp/decl.c:10356
#, gcc-internal-format
msgid "cannot declare %<::main%> to be a global variable"
msgstr ""
-#: cp/decl.c:10353
+#: cp/decl.c:10365
#, gcc-internal-format
msgid "a non-template variable cannot be %<concept%>"
msgstr ""
-#: cp/decl.c:10360
+#: cp/decl.c:10371
+#, gcc-internal-format
+msgid "concept must be defined at namespace scope"
+msgstr ""
+
+#: cp/decl.c:10378
#, gcc-internal-format
msgid "concept must have type %<bool%>"
msgstr ""
-#: cp/decl.c:10363
+#: cp/decl.c:10381
#, gcc-internal-format
msgid "a variable concept cannot be constrained"
msgstr ""
-#: cp/decl.c:10487
+#: cp/decl.c:10505
#, gcc-internal-format
msgid "in-class initialization of static data member %q#D of incomplete type"
msgstr ""
-#: cp/decl.c:10491
+#: cp/decl.c:10509
#, gcc-internal-format
msgid ""
"%<constexpr%> needed for in-class initialization of static data member %q#D "
"of non-integral type"
msgstr ""
-#: cp/decl.c:10495
+#: cp/decl.c:10513
#, gcc-internal-format
msgid "in-class initialization of static data member %q#D of non-literal type"
msgstr ""
-#: cp/decl.c:10506
+#: cp/decl.c:10524
#, gcc-internal-format
msgid ""
"invalid in-class initialization of static data member of non-integral type "
"%qT"
msgstr ""
-#: cp/decl.c:10511
+#: cp/decl.c:10529
#, gcc-internal-format
msgid "ISO C++ forbids in-class initialization of non-const static member %qD"
msgstr ""
-#: cp/decl.c:10516
+#: cp/decl.c:10534
#, gcc-internal-format
msgid ""
"ISO C++ forbids initialization of member constant %qD of non-integral type "
"%qT"
msgstr ""
-#: cp/decl.c:10627
+#: cp/decl.c:10645
#, gcc-internal-format
msgid "size of array %qD has non-integral type %qT"
msgstr ""
-#: cp/decl.c:10630
+#: cp/decl.c:10648
#, gcc-internal-format
msgid "size of array has non-integral type %qT"
msgstr ""
-#: cp/decl.c:10661 cp/decl.c:10733
+#: cp/decl.c:10679 cp/decl.c:10751
#, gcc-internal-format
msgid "size of array %qD is not an integral constant-expression"
msgstr ""
-#: cp/decl.c:10665 cp/decl.c:10736
+#: cp/decl.c:10683 cp/decl.c:10754
#, gcc-internal-format
msgid "size of array is not an integral constant-expression"
msgstr ""
-#: cp/decl.c:10716
+#: cp/decl.c:10734
#, gcc-internal-format
msgid "ISO C++ forbids zero-size array %qD"
msgstr ""
-#: cp/decl.c:10719
+#: cp/decl.c:10737
#, gcc-internal-format
msgid "ISO C++ forbids zero-size array"
msgstr ""
-#: cp/decl.c:10743
+#: cp/decl.c:10761
#, gcc-internal-format
msgid "ISO C++ forbids variable length array %qD"
msgstr ""
-#: cp/decl.c:10746
+#: cp/decl.c:10764
#, gcc-internal-format
msgid "ISO C++ forbids variable length array"
msgstr ""
-#: cp/decl.c:10752
+#: cp/decl.c:10770
#, gcc-internal-format
msgid "variable length array %qD is used"
msgstr ""
-#: cp/decl.c:10755
+#: cp/decl.c:10773
#, gcc-internal-format
msgid "variable length array is used"
msgstr ""
-#: cp/decl.c:10807
+#: cp/decl.c:10825
#, gcc-internal-format
msgid "overflow in array dimension"
msgstr ""
-#: cp/decl.c:10867
+#: cp/decl.c:10885
#, gcc-internal-format
msgid "%qD declared as array of %qT"
msgstr ""
-#: cp/decl.c:10869 cp/pt.c:15991
+#: cp/decl.c:10887 cp/pt.c:16080
#, gcc-internal-format
msgid "creating array of %qT"
msgstr ""
-#: cp/decl.c:10879
+#: cp/decl.c:10897
#, gcc-internal-format
msgid "declaration of %qD as array of void"
msgstr ""
-#: cp/decl.c:10881
+#: cp/decl.c:10899
#, gcc-internal-format
msgid "creating array of void"
msgstr ""
-#: cp/decl.c:10886
+#: cp/decl.c:10904
#, gcc-internal-format
msgid "declaration of %qD as array of functions"
msgstr ""
-#: cp/decl.c:10888
+#: cp/decl.c:10906
#, gcc-internal-format
msgid "creating array of functions"
msgstr ""
-#: cp/decl.c:10893
+#: cp/decl.c:10911
#, gcc-internal-format
msgid "declaration of %qD as array of references"
msgstr ""
-#: cp/decl.c:10895
+#: cp/decl.c:10913
#, gcc-internal-format
msgid "creating array of references"
msgstr ""
-#: cp/decl.c:10900
+#: cp/decl.c:10918
#, gcc-internal-format
msgid "declaration of %qD as array of function members"
msgstr ""
-#: cp/decl.c:10903
+#: cp/decl.c:10921
#, gcc-internal-format
msgid "creating array of function members"
msgstr ""
-#: cp/decl.c:10921
+#: cp/decl.c:10939
#, gcc-internal-format
msgid ""
"declaration of %qD as multidimensional array must have bounds for all "
"dimensions except the first"
msgstr ""
-#: cp/decl.c:10925
+#: cp/decl.c:10943
#, gcc-internal-format
msgid ""
"multidimensional array must have bounds for all dimensions except the first"
msgstr ""
-#: cp/decl.c:11007
+#: cp/decl.c:11025
#, gcc-internal-format
msgid "return type specification for constructor invalid"
msgstr ""
-#: cp/decl.c:11010
+#: cp/decl.c:11028
#, gcc-internal-format
msgid "qualifiers are not allowed on constructor declaration"
msgstr ""
-#: cp/decl.c:11021
+#: cp/decl.c:11039
#, gcc-internal-format
msgid "return type specification for destructor invalid"
msgstr ""
-#: cp/decl.c:11024
+#: cp/decl.c:11042
#, gcc-internal-format
msgid "qualifiers are not allowed on destructor declaration"
msgstr ""
-#: cp/decl.c:11037
+#: cp/decl.c:11055
#, gcc-internal-format
msgid "return type specified for %<operator %T%>"
msgstr ""
-#: cp/decl.c:11040
+#: cp/decl.c:11058
#, gcc-internal-format
msgid "qualifiers are not allowed on declaration of %<operator %T%>"
msgstr ""
-#: cp/decl.c:11049
+#: cp/decl.c:11067
#, gcc-internal-format
msgid "return type specified for deduction guide"
msgstr ""
-#: cp/decl.c:11052
+#: cp/decl.c:11070
#, gcc-internal-format
msgid "qualifiers are not allowed on declaration of deduction guide"
msgstr ""
-#: cp/decl.c:11056
+#: cp/decl.c:11074
#, gcc-internal-format
msgid "template template parameter %qT in declaration of deduction guide"
msgstr ""
-#: cp/decl.c:11065
+#: cp/decl.c:11083
#, gcc-internal-format
msgid "%<decl-specifier%> in declaration of deduction guide"
msgstr ""
-#: cp/decl.c:11086
+#: cp/decl.c:11104
#, gcc-internal-format
msgid "unnamed variable or field declared void"
msgstr ""
-#: cp/decl.c:11094
+#: cp/decl.c:11112
#, gcc-internal-format
msgid "variable or field declared void"
msgstr ""
-#: cp/decl.c:11109
+#: cp/decl.c:11127
#, gcc-internal-format
msgid "%<inline%> specifier invalid for variable %qD declared at block scope"
msgstr ""
-#: cp/decl.c:11114
+#: cp/decl.c:11132
#, gcc-internal-format
msgid ""
"inline variables are only available with %<-std=c++17%> or %<-std=gnu++17%>"
msgstr ""
-#: cp/decl.c:11361
+#: cp/decl.c:11379
#, gcc-internal-format
msgid "invalid use of qualified-name %<::%D%>"
msgstr ""
-#: cp/decl.c:11364 cp/decl.c:11386
+#: cp/decl.c:11382 cp/decl.c:11404
#, gcc-internal-format
msgid "invalid use of qualified-name %<%T::%D%>"
msgstr ""
-#: cp/decl.c:11367
+#: cp/decl.c:11385
#, gcc-internal-format
msgid "invalid use of qualified-name %<%D::%D%>"
msgstr ""
-#: cp/decl.c:11377
+#: cp/decl.c:11395
#, gcc-internal-format
msgid "%q#T is not a class or namespace"
msgstr ""
-#: cp/decl.c:11401
+#: cp/decl.c:11419
#, gcc-internal-format
msgid "declaration of %qE as non-function"
msgstr ""
-#: cp/decl.c:11408
+#: cp/decl.c:11426
#, gcc-internal-format
msgid "declaration of %qE as non-member"
msgstr ""
-#: cp/decl.c:11436
+#: cp/decl.c:11454
#, gcc-internal-format
msgid "declarator-id missing; using reserved word %qD"
msgstr ""
-#: cp/decl.c:11487
+#: cp/decl.c:11505
#, gcc-internal-format
msgid "function definition does not declare parameters"
msgstr ""
-#: cp/decl.c:11495 cp/decl.c:11504 cp/decl.c:13312
+#: cp/decl.c:11513 cp/decl.c:11522 cp/decl.c:13330
#, gcc-internal-format
msgid "declaration of %qD as non-function"
msgstr ""
-#: cp/decl.c:11512
+#: cp/decl.c:11530
#, gcc-internal-format
msgid "declaration of %qD as %<typedef%>"
msgstr ""
-#: cp/decl.c:11517
+#: cp/decl.c:11535
#, gcc-internal-format
msgid "declaration of %qD as parameter"
msgstr ""
-#: cp/decl.c:11552
+#: cp/decl.c:11570
#, gcc-internal-format
msgid "both %qs and %qs specified"
msgstr ""
-#: cp/decl.c:11559 cp/decl.c:11566 cp/decl.c:11573 cp/decl.c:11580
+#: cp/decl.c:11577 cp/decl.c:11584 cp/decl.c:11591 cp/decl.c:11598
#, gcc-internal-format
msgid "%qs cannot appear in a typedef declaration"
msgstr ""
-#: cp/decl.c:11591
+#: cp/decl.c:11609
#, gcc-internal-format
msgid "can use at most one of the %<constinit%> and %<constexpr%> specifiers"
msgstr ""
-#: cp/decl.c:11601
+#: cp/decl.c:11619
#, gcc-internal-format
msgid "two or more data types in declaration of %qs"
msgstr ""
-#: cp/decl.c:11609
+#: cp/decl.c:11627
#, gcc-internal-format
msgid "conflicting specifiers in declaration of %qs"
msgstr ""
-#: cp/decl.c:11656
+#: cp/decl.c:11674
#, gcc-internal-format
msgid "ISO C++ does not support plain %<complex%> meaning %<double complex%>"
msgstr ""
-#: cp/decl.c:11705 cp/decl.c:11709 cp/decl.c:11712
+#: cp/decl.c:11723 cp/decl.c:11727 cp/decl.c:11730
#, gcc-internal-format
msgid "ISO C++ forbids declaration of %qs with no type"
msgstr ""
-#: cp/decl.c:11729
+#: cp/decl.c:11747
#, gcc-internal-format
msgid "%<__int%d%> is not supported by this target"
msgstr ""
-#: cp/decl.c:11737
+#: cp/decl.c:11755
#, gcc-internal-format
msgid "ISO C++ does not support %<__int%d%> for %qs"
msgstr ""
-#: cp/decl.c:11791
+#: cp/decl.c:11809
#, gcc-internal-format
msgid "%<signed%> and %<unsigned%> specified together"
msgstr ""
-#: cp/decl.c:11797
+#: cp/decl.c:11815
#, gcc-internal-format
msgid "%<long%> and %<short%> specified together"
msgstr ""
-#: cp/decl.c:11805 cp/decl.c:11811
+#: cp/decl.c:11823 cp/decl.c:11829
#, gcc-internal-format
msgid "%qs specified with %qT"
msgstr ""
-#: cp/decl.c:11816
+#: cp/decl.c:11834
#, gcc-internal-format
msgid "%qs specified with %<decltype%>"
msgstr ""
-#: cp/decl.c:11818
+#: cp/decl.c:11836
#, gcc-internal-format
msgid "%qs specified with %<typeof%>"
msgstr ""
-#: cp/decl.c:11885
+#: cp/decl.c:11903
#, gcc-internal-format
msgid "complex invalid for %qs"
msgstr ""
-#: cp/decl.c:11924
+#: cp/decl.c:11942
#, gcc-internal-format
msgid ""
"template placeholder type %qT must be followed by a simple declarator-id"
msgstr ""
-#: cp/decl.c:11945
+#: cp/decl.c:11963
#, gcc-internal-format
msgid "member %qD cannot be declared both %<virtual%> and %<static%>"
msgstr ""
-#: cp/decl.c:11954
+#: cp/decl.c:11972
#, 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.c:11967
+#: cp/decl.c:11985
#, gcc-internal-format
msgid "typedef declaration invalid in parameter declaration"
msgstr ""
-#: cp/decl.c:11974
+#: cp/decl.c:11992
#, gcc-internal-format
msgid "storage class specified for template parameter %qs"
msgstr ""
-#: cp/decl.c:11984 cp/decl.c:12156
+#: cp/decl.c:12002 cp/decl.c:12174
#, gcc-internal-format
msgid "storage class specified for parameter %qs"
msgstr ""
-#: cp/decl.c:11992 cp/decl.c:12001 cp/decl.c:12007 cp/decl.c:12013
+#: cp/decl.c:12010 cp/decl.c:12019 cp/decl.c:12025 cp/decl.c:12031
#, gcc-internal-format
msgid "a parameter cannot be declared %qs"
msgstr ""
-#: cp/decl.c:12023
+#: cp/decl.c:12041
#, gcc-internal-format
msgid "%<virtual%> outside class declaration"
msgstr ""
-#: cp/decl.c:12033 cp/decl.c:12036 cp/decl.c:12038 cp/decl.c:12041
-#: cp/decl.c:12051 cp/decl.c:12061 cp/decl.c:12071 cp/decl.c:12075
+#: cp/decl.c:12051 cp/decl.c:12054 cp/decl.c:12056 cp/decl.c:12059
+#: cp/decl.c:12069 cp/decl.c:12079 cp/decl.c:12089 cp/decl.c:12093
#, gcc-internal-format
msgid "structured binding declaration cannot be %qs"
msgstr ""
-#: cp/decl.c:12045 cp/decl.c:12067
+#: cp/decl.c:12063 cp/decl.c:12085
#, gcc-internal-format
msgid ""
"structured binding declaration can be %qs only in %<-std=c++20%> or %<-"
"std=gnu++20%>"
msgstr ""
-#: cp/decl.c:12055
+#: cp/decl.c:12073
#, gcc-internal-format
msgid "%<volatile%>-qualified structured binding is deprecated"
msgstr ""
-#: cp/decl.c:12079
+#: cp/decl.c:12097
#, gcc-internal-format
msgid "structured binding declaration cannot be C++98 %<auto%>"
msgstr ""
-#: cp/decl.c:12090
+#: cp/decl.c:12108
#, gcc-internal-format
msgid "structured binding declaration cannot have type %qT"
msgstr ""
-#: cp/decl.c:12093
+#: cp/decl.c:12111
#, gcc-internal-format
msgid ""
"type must be cv-qualified %<auto%> or reference to cv-qualified %<auto%>"
msgstr ""
-#: cp/decl.c:12128
+#: cp/decl.c:12146
#, gcc-internal-format
msgid "multiple storage classes in declaration of %qs"
msgstr ""
-#: cp/decl.c:12154
+#: cp/decl.c:12172
#, gcc-internal-format
msgid "storage class specified for %qs"
msgstr ""
-#: cp/decl.c:12168
+#: cp/decl.c:12186
#, gcc-internal-format
msgid "nested function %qs declared %<extern%>"
msgstr ""
-#: cp/decl.c:12173
+#: cp/decl.c:12191
#, gcc-internal-format
msgid "top-level declaration of %qs specifies %<auto%>"
msgstr ""
-#: cp/decl.c:12181
+#: cp/decl.c:12199
#, gcc-internal-format
msgid "function-scope %qs implicitly auto and declared %<__thread%>"
msgstr ""
-#: cp/decl.c:12195
+#: cp/decl.c:12213
#, gcc-internal-format
msgid "storage class specifiers invalid in friend function declarations"
msgstr ""
-#: cp/decl.c:12226
+#: cp/decl.c:12244
#, gcc-internal-format
msgid "attribute ignored"
msgstr ""
-#: cp/decl.c:12227
+#: cp/decl.c:12245
#, gcc-internal-format
msgid "an attribute that appertains to a type-specifier is ignored"
msgstr ""
-#: cp/decl.c:12285
+#: cp/decl.c:12303
#, gcc-internal-format
msgid "unnecessary parentheses in declaration of %qs"
msgstr ""
-#: cp/decl.c:12291
+#: cp/decl.c:12309
#, gcc-internal-format
msgid "remove parentheses"
msgstr ""
-#: cp/decl.c:12340
+#: cp/decl.c:12358
#, gcc-internal-format
msgid "requires-clause on return type"
msgstr ""
-#: cp/decl.c:12360
+#: cp/decl.c:12378
#, gcc-internal-format
msgid "%qs function uses %<auto%> type specifier without trailing return type"
msgstr ""
-#: cp/decl.c:12364
+#: cp/decl.c:12382
#, gcc-internal-format
msgid ""
"deduced return type only available with %<-std=c++14%> or %<-std=gnu++14%>"
msgstr ""
-#: cp/decl.c:12369
+#: cp/decl.c:12387
#, gcc-internal-format
msgid "virtual function cannot have deduced return type"
msgstr ""
-#: cp/decl.c:12376
+#: cp/decl.c:12394
#, gcc-internal-format
msgid ""
"%qs function with trailing return type has %qT as its type rather than plain "
"%<auto%>"
msgstr ""
-#: cp/decl.c:12385
+#: cp/decl.c:12403
#, gcc-internal-format
msgid ""
"%qs function with trailing return type has %<decltype(auto)%> as its type "
"rather than plain %<auto%>"
msgstr ""
-#: cp/decl.c:12390
+#: cp/decl.c:12408
#, gcc-internal-format
msgid "invalid use of %<decltype(auto)%>"
msgstr ""
-#: cp/decl.c:12401
+#: cp/decl.c:12419
#, gcc-internal-format
msgid "deduced class type %qD in function return type"
msgstr ""
-#: cp/decl.c:12410
+#: cp/decl.c:12428
#, gcc-internal-format
msgid "deduction guide for %qT must have trailing return type"
msgstr ""
-#: cp/decl.c:12423
+#: cp/decl.c:12441
#, gcc-internal-format
msgid ""
"trailing return type %qT of deduction guide is not a specialization of %qT"
msgstr ""
-#: cp/decl.c:12437
+#: cp/decl.c:12455
#, gcc-internal-format
msgid ""
"trailing return type only available with %<-std=c++11%> or %<-std=gnu++11%>"
msgstr ""
-#: cp/decl.c:12440
+#: cp/decl.c:12458
#, gcc-internal-format
msgid ""
"%qs function with trailing return type not declared with %<auto%> type "
"specifier"
msgstr ""
-#: cp/decl.c:12464
+#: cp/decl.c:12482
#, gcc-internal-format
msgid "%<volatile%>-qualified return type is deprecated"
msgstr ""
-#: cp/decl.c:12476
+#: cp/decl.c:12494
#, gcc-internal-format
msgid "%qs declared as function returning a function"
msgstr ""
-#: cp/decl.c:12482
+#: cp/decl.c:12500
#, gcc-internal-format
msgid "%qs declared as function returning an array"
msgstr ""
-#: cp/decl.c:12489
+#: cp/decl.c:12507
#, gcc-internal-format
msgid "%<constinit%> on function return type is not allowed"
msgstr ""
-#: cp/decl.c:12500 cp/pt.c:29580
+#: cp/decl.c:12518 cp/pt.c:29649
#, gcc-internal-format
msgid "%qT as type rather than plain %<decltype(auto)%>"
msgstr ""
-#: cp/decl.c:12506 cp/pt.c:29586
+#: cp/decl.c:12524 cp/pt.c:29655
#, gcc-internal-format
msgid "%<decltype(auto)%> cannot be cv-qualified"
msgstr ""
-#: cp/decl.c:12538
+#: cp/decl.c:12556
#, gcc-internal-format
msgid "destructor cannot be static member function"
msgstr ""
-#: cp/decl.c:12540
+#: cp/decl.c:12558
#, gcc-internal-format
msgid "constructor cannot be static member function"
msgstr ""
-#: cp/decl.c:12545
+#: cp/decl.c:12563
#, gcc-internal-format
msgid "destructors may not be cv-qualified"
msgstr ""
-#: cp/decl.c:12546
+#: cp/decl.c:12564
#, gcc-internal-format
msgid "constructors may not be cv-qualified"
msgstr ""
-#: cp/decl.c:12554
+#: cp/decl.c:12572
#, gcc-internal-format
msgid "destructors may not be ref-qualified"
msgstr ""
-#: cp/decl.c:12555
+#: cp/decl.c:12573
#, gcc-internal-format
msgid "constructors may not be ref-qualified"
msgstr ""
-#: cp/decl.c:12573
+#: cp/decl.c:12591
#, gcc-internal-format
msgid "constructors cannot be declared %<virtual%>"
msgstr ""
-#: cp/decl.c:12590
+#: cp/decl.c:12608
#, gcc-internal-format
msgid "virtual functions cannot be friends"
msgstr ""
-#: cp/decl.c:12595
+#: cp/decl.c:12613
#, gcc-internal-format
msgid "friend declaration not in class definition"
msgstr ""
-#: cp/decl.c:12599
+#: cp/decl.c:12617
#, gcc-internal-format
msgid "cannot define friend function %qs in a local class definition"
msgstr ""
-#: cp/decl.c:12609
+#: cp/decl.c:12627
#, gcc-internal-format
msgid "friend function definition %qs cannot have a name qualified with %<::%>"
msgstr ""
-#: cp/decl.c:12613
+#: cp/decl.c:12631
#, gcc-internal-format
msgid ""
"friend function definition %qs cannot have a name qualified with %<%D::%>"
msgstr ""
-#: cp/decl.c:12626
+#: cp/decl.c:12644
#, gcc-internal-format
msgid "a conversion function cannot have a trailing return type"
msgstr ""
-#: cp/decl.c:12653
+#: cp/decl.c:12671
#, gcc-internal-format
msgid "destructors may not have parameters"
msgstr ""
-#: cp/decl.c:12693
+#: cp/decl.c:12711
#, gcc-internal-format
msgid "cannot declare pointer to %q#T"
msgstr ""
-#: cp/decl.c:12706 cp/decl.c:12713
+#: cp/decl.c:12724 cp/decl.c:12731
#, gcc-internal-format
msgid "cannot declare reference to %q#T"
msgstr ""
-#: cp/decl.c:12715
+#: cp/decl.c:12733
#, gcc-internal-format
msgid "cannot declare pointer to %q#T member"
msgstr ""
-#: cp/decl.c:12744
+#: cp/decl.c:12762
#, gcc-internal-format
msgid "cannot declare reference to qualified function type %qT"
msgstr ""
-#: cp/decl.c:12745
+#: cp/decl.c:12763
#, gcc-internal-format
msgid "cannot declare pointer to qualified function type %qT"
msgstr ""
-#: cp/decl.c:12818
+#: cp/decl.c:12836
#, gcc-internal-format
msgid ""
"cannot declare reference to %q#T, which is not a typedef or a template type "
"argument"
msgstr ""
-#: cp/decl.c:12889
+#: cp/decl.c:12907
#, gcc-internal-format
msgid "template-id %qD used as a declarator"
msgstr ""
-#: cp/decl.c:12915
+#: cp/decl.c:12933
#, gcc-internal-format
msgid "member functions are implicitly friends of their class"
msgstr ""
-#: cp/decl.c:12920
+#: cp/decl.c:12938
#, gcc-internal-format
msgid "extra qualification %<%T::%> on member %qs"
msgstr ""
-#: cp/decl.c:12950
+#: cp/decl.c:12968
#, gcc-internal-format
msgid "cannot define member function %<%T::%s%> within %qT"
msgstr ""
-#: cp/decl.c:12952
+#: cp/decl.c:12970
#, gcc-internal-format
msgid "cannot declare member function %<%T::%s%> within %qT"
msgstr ""
-#: cp/decl.c:12960
+#: cp/decl.c:12978
#, gcc-internal-format
msgid "cannot declare member %<%T::%s%> within %qT"
msgstr ""
-#: cp/decl.c:13000
+#: cp/decl.c:13018
#, gcc-internal-format
msgid "non-parameter %qs cannot be a parameter pack"
msgstr ""
-#: cp/decl.c:13009
+#: cp/decl.c:13027
#, gcc-internal-format
msgid "data member may not have variably modified type %qT"
msgstr ""
-#: cp/decl.c:13012
+#: cp/decl.c:13030
#, gcc-internal-format
msgid "parameter may not have variably modified type %qT"
msgstr ""
-#: cp/decl.c:13023
+#: cp/decl.c:13041
#, gcc-internal-format
msgid "%<explicit%> outside class declaration"
msgstr ""
-#: cp/decl.c:13026
+#: cp/decl.c:13044
#, gcc-internal-format
msgid "%<explicit%> in friend declaration"
msgstr ""
-#: cp/decl.c:13029
+#: cp/decl.c:13047
#, gcc-internal-format
msgid ""
"only declarations of constructors and conversion operators can be %<explicit"
"%>"
msgstr ""
-#: cp/decl.c:13039
+#: cp/decl.c:13057
#, gcc-internal-format
msgid "non-member %qs cannot be declared %<mutable%>"
msgstr ""
-#: cp/decl.c:13046
+#: cp/decl.c:13064
#, gcc-internal-format
msgid "non-object member %qs cannot be declared %<mutable%>"
msgstr ""
-#: cp/decl.c:13052
+#: cp/decl.c:13070
#, gcc-internal-format
msgid "function %qs cannot be declared %<mutable%>"
msgstr ""
-#: cp/decl.c:13058
+#: cp/decl.c:13076
#, gcc-internal-format
msgid "%<static%> %qs cannot be declared %<mutable%>"
msgstr ""
-#: cp/decl.c:13064
+#: cp/decl.c:13082
#, gcc-internal-format
msgid "%<const%> %qs cannot be declared %<mutable%>"
msgstr ""
-#: cp/decl.c:13070
+#: cp/decl.c:13088
#, gcc-internal-format
msgid "reference %qs cannot be declared %<mutable%>"
msgstr ""
-#: cp/decl.c:13086
+#: cp/decl.c:13104
#, gcc-internal-format
msgid "typedef may not be a function definition"
msgstr ""
-#: cp/decl.c:13089
+#: cp/decl.c:13107
#, gcc-internal-format
msgid "typedef may not be a member function definition"
msgstr ""
-#: cp/decl.c:13115
+#: cp/decl.c:13133
#, gcc-internal-format
msgid "%<auto%> not allowed in alias declaration"
msgstr ""
-#: cp/decl.c:13118
+#: cp/decl.c:13136
#, gcc-internal-format
msgid "typedef declared %<auto%>"
msgstr ""
-#: cp/decl.c:13123
+#: cp/decl.c:13141
#, gcc-internal-format
msgid "requires-clause on typedef"
msgstr ""
-#: cp/decl.c:13127
+#: cp/decl.c:13145
#, gcc-internal-format
msgid "typedef name may not be a nested-name-specifier"
msgstr ""
-#: cp/decl.c:13153
+#: cp/decl.c:13171
#, gcc-internal-format
msgid "ISO C++ forbids nested type %qD with same name as enclosing class"
msgstr ""
-#: cp/decl.c:13242
+#: cp/decl.c:13260
#, gcc-internal-format
msgid "%<inline%> specified for friend class declaration"
msgstr ""
-#: cp/decl.c:13250
+#: cp/decl.c:13268
#, gcc-internal-format
msgid "template parameters cannot be friends"
msgstr ""
-#: cp/decl.c:13252
+#: cp/decl.c:13270
#, gcc-internal-format
msgid "friend declaration requires class-key, i.e. %<friend class %T::%D%>"
msgstr ""
-#: cp/decl.c:13256
+#: cp/decl.c:13274
#, gcc-internal-format
msgid "friend declaration requires class-key, i.e. %<friend %#T%>"
msgstr ""
-#: cp/decl.c:13269
+#: cp/decl.c:13287
#, gcc-internal-format
msgid "trying to make class %qT a friend of global scope"
msgstr ""
-#: cp/decl.c:13289
+#: cp/decl.c:13307
#, gcc-internal-format
msgid "invalid qualifiers on non-member function type"
msgstr ""
-#: cp/decl.c:13293
+#: cp/decl.c:13311
#, gcc-internal-format
msgid "requires-clause on type-id"
msgstr ""
-#: cp/decl.c:13303
+#: cp/decl.c:13321
#, gcc-internal-format
msgid "abstract declarator %qT used as declaration"
msgstr ""
-#: cp/decl.c:13318
+#: cp/decl.c:13336
#, gcc-internal-format
msgid "requires-clause on declaration of non-function type %qT"
msgstr ""
-#: cp/decl.c:13337
+#: cp/decl.c:13355
#, gcc-internal-format
msgid "cannot use %<::%> in parameter declaration"
msgstr ""
-#: cp/decl.c:13346 cp/parser.c:19160
+#: cp/decl.c:13364 cp/parser.c:19197
#, gcc-internal-format
msgid "cannot declare a parameter with %<decltype(auto)%>"
msgstr ""
-#: cp/decl.c:13351
+#: cp/decl.c:13369
#, gcc-internal-format
msgid "class template placeholder %qE not permitted in this context"
msgstr ""
-#: cp/decl.c:13354
+#: cp/decl.c:13372
#, gcc-internal-format
msgid "use %<auto%> for an abbreviated function template"
msgstr ""
-#: cp/decl.c:13359
+#: cp/decl.c:13377
#, gcc-internal-format
msgid "%<auto%> parameter not permitted in this context"
msgstr ""
-#: cp/decl.c:13362
+#: cp/decl.c:13380
#, gcc-internal-format
msgid "parameter declared %<auto%>"
msgstr ""
-#: cp/decl.c:13413 cp/parser.c:3429
+#: cp/decl.c:13431 cp/parser.c:3429
#, gcc-internal-format
msgid "invalid use of template-name %qE without an argument list"
msgstr ""
-#: cp/decl.c:13417
+#: cp/decl.c:13435
#, gcc-internal-format
msgid "non-static data member declared with placeholder %qT"
msgstr ""
-#: cp/decl.c:13438
+#: cp/decl.c:13456
#, gcc-internal-format
msgid "ISO C++ forbids flexible array member %qs"
msgstr ""
-#: cp/decl.c:13441
+#: cp/decl.c:13459
#, gcc-internal-format
msgid "ISO C++ forbids flexible array members"
msgstr ""
#. Something like struct S { int N::j; };
-#: cp/decl.c:13457
+#: cp/decl.c:13475
#, gcc-internal-format
msgid "invalid use of %<::%>"
msgstr ""
-#: cp/decl.c:13478
+#: cp/decl.c:13496
#, gcc-internal-format
msgid "declaration of function %qD in invalid context"
msgstr ""
-#: cp/decl.c:13488
+#: cp/decl.c:13506
#, gcc-internal-format
msgid "function %qD declared %<virtual%> inside a union"
msgstr ""
-#: cp/decl.c:13498
+#: cp/decl.c:13516
#, gcc-internal-format
msgid "%qD cannot be declared %<virtual%>, since it is always static"
msgstr ""
-#: cp/decl.c:13512
+#: cp/decl.c:13530
#, gcc-internal-format
msgid "expected qualified name in friend declaration for destructor %qD"
msgstr ""
-#: cp/decl.c:13519
+#: cp/decl.c:13537
#, gcc-internal-format
msgid "declaration of %qD as member of %qT"
msgstr ""
-#: cp/decl.c:13526 cp/decl.c:13539
+#: cp/decl.c:13544 cp/decl.c:13557
#, gcc-internal-format
msgid "a destructor cannot be %qs"
msgstr ""
-#: cp/decl.c:13532
+#: cp/decl.c:13550
#, gcc-internal-format
msgid ""
"%<constexpr%> destructors only available with %<-std=c++20%> or %<-std=gnu+"
"+20%>"
msgstr ""
-#: cp/decl.c:13545
+#: cp/decl.c:13563
#, gcc-internal-format
msgid "expected qualified name in friend declaration for constructor %qD"
msgstr ""
-#: cp/decl.c:13554
+#: cp/decl.c:13572
#, gcc-internal-format
msgid "a constructor cannot be %<concept%>"
msgstr ""
-#: cp/decl.c:13560
+#: cp/decl.c:13578
#, gcc-internal-format
msgid "a concept cannot be a member function"
msgstr ""
-#: cp/decl.c:13568 cp/decl.c:13898
+#: cp/decl.c:13586 cp/decl.c:13916
#, gcc-internal-format
msgid "%qD cannot be %qs"
msgstr ""
-#: cp/decl.c:13577
+#: cp/decl.c:13595
#, gcc-internal-format
msgid "specialization of variable template %qD declared as function"
msgstr ""
-#: cp/decl.c:13580
+#: cp/decl.c:13598
#, gcc-internal-format
msgid "variable template declared here"
msgstr ""
-#: cp/decl.c:13642
+#: cp/decl.c:13660
#, gcc-internal-format
msgid "field %qD has incomplete type %qT"
msgstr ""
-#: cp/decl.c:13647
+#: cp/decl.c:13665
#, gcc-internal-format
msgid "name %qT has incomplete type"
msgstr ""
-#: cp/decl.c:13667
+#: cp/decl.c:13685
#, gcc-internal-format
msgid "%qE is neither function nor member function; cannot be declared friend"
msgstr ""
-#: cp/decl.c:13670
+#: cp/decl.c:13688
#, gcc-internal-format
msgid ""
"unnamed field is neither function nor member function; cannot be declared "
"friend"
msgstr ""
-#: cp/decl.c:13723 cp/decl.c:13734
+#: cp/decl.c:13741 cp/decl.c:13752
#, gcc-internal-format
msgid "static data member %qE declared %qs"
msgstr ""
-#: cp/decl.c:13728
+#: cp/decl.c:13746
#, gcc-internal-format
msgid "%<constexpr%> static data member %qD must have an initializer"
msgstr ""
-#: cp/decl.c:13762 cp/decl.c:13770 cp/decl.c:13777 cp/decl.c:13784
+#: cp/decl.c:13780 cp/decl.c:13788 cp/decl.c:13795 cp/decl.c:13802
#, gcc-internal-format
msgid "non-static data member %qE declared %qs"
msgstr ""
-#: cp/decl.c:13839
+#: cp/decl.c:13857
#, gcc-internal-format
msgid "storage class %<auto%> invalid for function %qs"
msgstr ""
-#: cp/decl.c:13842
+#: cp/decl.c:13860
#, gcc-internal-format
msgid "storage class %<register%> invalid for function %qs"
msgstr ""
-#: cp/decl.c:13848
+#: cp/decl.c:13866
#, gcc-internal-format
msgid "storage class %<__thread%> invalid for function %qs"
msgstr ""
-#: cp/decl.c:13852
+#: cp/decl.c:13870
#, gcc-internal-format
msgid "storage class %<thread_local%> invalid for function %qs"
msgstr ""
-#: cp/decl.c:13857
+#: cp/decl.c:13875
#, gcc-internal-format
msgid "virt-specifiers in %qs not allowed outside a class definition"
msgstr ""
-#: cp/decl.c:13869
+#: cp/decl.c:13887
#, gcc-internal-format
msgid ""
"%<static%> specifier invalid for function %qs declared out of global scope"
msgstr ""
-#: cp/decl.c:13873
+#: cp/decl.c:13891
#, gcc-internal-format
msgid ""
"%<inline%> specifier invalid for function %qs declared out of global scope"
msgstr ""
-#: cp/decl.c:13881
+#: cp/decl.c:13899
#, gcc-internal-format
msgid "virtual non-class function %qs"
msgstr ""
-#: cp/decl.c:13888
+#: cp/decl.c:13906
#, gcc-internal-format
msgid "%qs defined in a non-class scope"
msgstr ""
-#: cp/decl.c:13889
+#: cp/decl.c:13907
#, gcc-internal-format
msgid "%qs declared in a non-class scope"
msgstr ""
-#: cp/decl.c:13932
+#: cp/decl.c:13950
#, gcc-internal-format
msgid "cannot declare member function %qD to have static linkage"
msgstr ""
-#: cp/decl.c:13941
+#: cp/decl.c:13959
#, gcc-internal-format
msgid "cannot declare static function inside another function"
msgstr ""
-#: cp/decl.c:13980
+#: cp/decl.c:13998
#, gcc-internal-format
msgid ""
"%<static%> may not be used when defining (as opposed to declaring) a static "
"data member"
msgstr ""
-#: cp/decl.c:13987
+#: cp/decl.c:14005
#, gcc-internal-format
msgid "static member %qD declared %<register%>"
msgstr ""
-#: cp/decl.c:13993
+#: cp/decl.c:14011
#, gcc-internal-format
msgid "cannot explicitly declare member %q#D to have extern linkage"
msgstr ""
-#: cp/decl.c:14001
+#: cp/decl.c:14019
#, gcc-internal-format
msgid "declaration of %<constexpr%> variable %qD is not a definition"
msgstr ""
-#: cp/decl.c:14008
+#: cp/decl.c:14026
#, gcc-internal-format
msgid "a variable cannot be declared %<consteval%>"
msgstr ""
-#: cp/decl.c:14028
+#: cp/decl.c:14046
#, gcc-internal-format
msgid "declaration of %q#D has no initializer"
msgstr ""
-#: cp/decl.c:14040
+#: cp/decl.c:14058
#, gcc-internal-format
msgid "%qs initialized and declared %<extern%>"
msgstr ""
-#: cp/decl.c:14045
+#: cp/decl.c:14063
#, gcc-internal-format
msgid "%qs has both %<extern%> and initializer"
msgstr ""
-#: cp/decl.c:14217
+#: cp/decl.c:14235
#, gcc-internal-format
msgid "default argument %qE uses %qD"
msgstr ""
-#: cp/decl.c:14220
+#: cp/decl.c:14238
#, gcc-internal-format
msgid "default argument %qE uses local variable %qD"
msgstr ""
-#: cp/decl.c:14310
+#: cp/decl.c:14328
#, gcc-internal-format
msgid "invalid use of cv-qualified type %qT in parameter declaration"
msgstr ""
-#: cp/decl.c:14314
+#: cp/decl.c:14332
#, gcc-internal-format
msgid "invalid use of type %<void%> in parameter declaration"
msgstr ""
-#: cp/decl.c:14336
+#: cp/decl.c:14354
#, gcc-internal-format
msgid "%<volatile%>-qualified parameter is deprecated"
msgstr ""
-#: cp/decl.c:14344
+#: cp/decl.c:14362
#, gcc-internal-format
msgid "parameter %qD invalidly declared method type"
msgstr ""
-#: cp/decl.c:14369
+#: cp/decl.c:14387
#, gcc-internal-format
msgid "parameter %qD includes pointer to array of unknown bound %qT"
msgstr ""
-#: cp/decl.c:14371
+#: cp/decl.c:14389
#, gcc-internal-format
msgid "parameter %qD includes reference to array of unknown bound %qT"
msgstr ""
-#: cp/decl.c:14630
+#: cp/decl.c:14648
#, gcc-internal-format
msgid "invalid constructor; you probably meant %<%T (const %T&)%>"
msgstr ""
-#: cp/decl.c:14709
+#: cp/decl.c:14727
#, gcc-internal-format
msgid "%qD may not be declared within a namespace"
msgstr ""
-#: cp/decl.c:14716
+#: cp/decl.c:14734
#, gcc-internal-format
msgid "%qD may not be declared as static"
msgstr ""
-#: cp/decl.c:14746
+#: cp/decl.c:14764
#, gcc-internal-format
msgid "%qD must be a non-static member function"
msgstr ""
-#: cp/decl.c:14752
+#: cp/decl.c:14770
#, gcc-internal-format
msgid ""
"%qD must be either a non-static member function or a non-member function"
msgstr ""
-#: cp/decl.c:14762
+#: cp/decl.c:14780
#, gcc-internal-format
msgid "%qD must have an argument of class or enumerated type"
msgstr ""
#. 13.4.0.3
-#: cp/decl.c:14788
+#: cp/decl.c:14806
#, gcc-internal-format
msgid "ISO C++ prohibits overloading %<operator ?:%>"
msgstr ""
#. Variadic.
-#: cp/decl.c:14799
+#: cp/decl.c:14817
#, gcc-internal-format
msgid "%qD must not have variable number of arguments"
msgstr ""
-#: cp/decl.c:14825
+#: cp/decl.c:14843
#, gcc-internal-format
msgid "%qD must have either zero or one argument"
msgstr ""
-#: cp/decl.c:14826
+#: cp/decl.c:14844
#, gcc-internal-format
msgid "%qD must have either one or two arguments"
msgstr ""
-#: cp/decl.c:14838
+#: cp/decl.c:14856
#, gcc-internal-format
msgid "postfix %qD must have %<int%> as its argument"
msgstr ""
-#: cp/decl.c:14839
+#: cp/decl.c:14857
#, gcc-internal-format
msgid "postfix %qD must have %<int%> as its second argument"
msgstr ""
-#: cp/decl.c:14850
+#: cp/decl.c:14868
#, gcc-internal-format
msgid "%qD must have no arguments"
msgstr ""
-#: cp/decl.c:14851 cp/decl.c:14861
+#: cp/decl.c:14869 cp/decl.c:14879
#, gcc-internal-format
msgid "%qD must have exactly one argument"
msgstr ""
-#: cp/decl.c:14862
+#: cp/decl.c:14880
#, gcc-internal-format
msgid "%qD must have exactly two arguments"
msgstr ""
-#: cp/decl.c:14876
+#: cp/decl.c:14894
#, gcc-internal-format
msgid "%qD cannot have default arguments"
msgstr ""
-#: cp/decl.c:14900
+#: cp/decl.c:14918
#, gcc-internal-format
msgid "converting %qT to %<void%> will never use a type conversion operator"
msgstr ""
-#: cp/decl.c:14907
+#: cp/decl.c:14925
#, gcc-internal-format
msgid ""
"converting %qT to a reference to the same type will never use a type "
"conversion operator"
msgstr ""
-#: cp/decl.c:14909
+#: cp/decl.c:14927
#, gcc-internal-format
msgid ""
"converting %qT to the same type will never use a type conversion operator"
msgstr ""
-#: cp/decl.c:14918
+#: cp/decl.c:14936
#, gcc-internal-format
msgid ""
"converting %qT to a reference to a base class %qT will never use a type "
"conversion operator"
msgstr ""
-#: cp/decl.c:14920
+#: cp/decl.c:14938
#, gcc-internal-format
msgid ""
"converting %qT to a base class %qT will never use a type conversion operator"
msgstr ""
-#: cp/decl.c:14936
+#: cp/decl.c:14954
#, gcc-internal-format
msgid "user-defined %qD always evaluates both arguments"
msgstr ""
-#: cp/decl.c:14955
+#: cp/decl.c:14973
#, gcc-internal-format
msgid "prefix %qD should return %qT"
msgstr ""
-#: cp/decl.c:14962
+#: cp/decl.c:14980
#, gcc-internal-format
msgid "postfix %qD should return %qT"
msgstr ""
-#: cp/decl.c:14974
+#: cp/decl.c:14992
#, gcc-internal-format
msgid "%qD should return by value"
msgstr ""
-#: cp/decl.c:15029
+#: cp/decl.c:15047
#, gcc-internal-format
msgid "using template type parameter %qT after %qs"
msgstr ""
-#: cp/decl.c:15052
+#: cp/decl.c:15070
#, gcc-internal-format
msgid "using alias template specialization %qT after %qs"
msgstr ""
-#: cp/decl.c:15055
+#: cp/decl.c:15073
#, gcc-internal-format
msgid "using typedef-name %qD after %qs"
msgstr ""
-#: cp/decl.c:15057
+#: cp/decl.c:15075
#, gcc-internal-format
msgid "%qD has a previous declaration here"
msgstr ""
-#: cp/decl.c:15065
+#: cp/decl.c:15083
#, gcc-internal-format
msgid "%qT referred to as %qs"
msgstr ""
-#: cp/decl.c:15066 cp/decl.c:15073
+#: cp/decl.c:15084 cp/decl.c:15091
#, gcc-internal-format
msgid "%qT has a previous declaration here"
msgstr ""
-#: cp/decl.c:15072
+#: cp/decl.c:15090
#, gcc-internal-format
msgid "%qT referred to as enum"
msgstr ""
@@ -53073,105 +53120,105 @@ msgstr ""
#. void f(class C); // No template header here
#.
#. then the required template argument is missing.
-#: cp/decl.c:15087
+#: cp/decl.c:15105
#, gcc-internal-format
msgid "template argument required for %<%s %T%>"
msgstr ""
-#: cp/decl.c:15130 cp/name-lookup.c:5736 cp/name-lookup.c:5871 cp/parser.c:6817
-#: cp/parser.c:29391
+#: cp/decl.c:15148 cp/name-lookup.c:5753 cp/name-lookup.c:5888 cp/parser.c:6817
+#: cp/parser.c:29445
#, gcc-internal-format
msgid "reference to %qD is ambiguous"
msgstr ""
-#: cp/decl.c:15151 cp/name-lookup.c:5434
+#: cp/decl.c:15169 cp/name-lookup.c:5451
#, gcc-internal-format
msgid "%qD has the same name as the class in which it is declared"
msgstr ""
-#: cp/decl.c:15179 cp/friend.c:302 cp/parser.c:3254 cp/parser.c:6526
-#: cp/pt.c:9740
+#: cp/decl.c:15197 cp/friend.c:302 cp/parser.c:3254 cp/parser.c:6526
+#: cp/pt.c:9770
#, gcc-internal-format
msgid "%qT is not a template"
msgstr ""
-#: cp/decl.c:15184
+#: cp/decl.c:15202
#, gcc-internal-format
msgid "perhaps you want to explicitly add %<%T::%>"
msgstr ""
-#: cp/decl.c:15287
+#: cp/decl.c:15305
#, gcc-internal-format
msgid "use of enum %q#D without previous declaration"
msgstr ""
-#: cp/decl.c:15318
+#: cp/decl.c:15336
#, gcc-internal-format
msgid "redeclaration of %qT as a non-template"
msgstr ""
-#: cp/decl.c:15329 cp/semantics.c:3336
+#: cp/decl.c:15347 cp/semantics.c:3354
#, gcc-internal-format
msgid "cannot declare %qD in a different module"
msgstr ""
-#: cp/decl.c:15457
+#: cp/decl.c:15475
#, gcc-internal-format
msgid "derived union %qT invalid"
msgstr ""
-#: cp/decl.c:15464
+#: cp/decl.c:15482
#, gcc-internal-format
msgid "%qT defined with multiple direct bases"
msgstr ""
-#: cp/decl.c:15475
+#: cp/decl.c:15493
#, gcc-internal-format
msgid "%qT defined with direct virtual base"
msgstr ""
-#: cp/decl.c:15500
+#: cp/decl.c:15518
#, gcc-internal-format
msgid "base type %qT fails to be a struct or class type"
msgstr ""
-#: cp/decl.c:15530
+#: cp/decl.c:15548
#, gcc-internal-format
msgid "recursive type %qT undefined"
msgstr ""
-#: cp/decl.c:15532
+#: cp/decl.c:15550
#, gcc-internal-format
msgid "duplicate base type %qT invalid"
msgstr ""
-#: cp/decl.c:15677
+#: cp/decl.c:15695
#, gcc-internal-format
msgid "scoped/unscoped mismatch in enum %q#T"
msgstr ""
-#: cp/decl.c:15680 cp/decl.c:15688 cp/decl.c:15698 cp/decl.c:16300
-#: cp/parser.c:20064
+#: cp/decl.c:15698 cp/decl.c:15706 cp/decl.c:15716 cp/decl.c:16318
+#: cp/parser.c:20101
#, gcc-internal-format
msgid "previous definition here"
msgstr ""
-#: cp/decl.c:15685
+#: cp/decl.c:15703
#, gcc-internal-format
msgid "underlying type mismatch in enum %q#T"
msgstr ""
-#: cp/decl.c:15695
+#: cp/decl.c:15713
#, gcc-internal-format
msgid "different underlying type in enum %q#T"
msgstr ""
-#: cp/decl.c:15706
+#: cp/decl.c:15724
#, gcc-internal-format
msgid "cannot define %qD in different module"
msgstr ""
-#: cp/decl.c:15780
+#: cp/decl.c:15798
#, gcc-internal-format
msgid "underlying type %qT of %qT must be an integral type"
msgstr ""
@@ -53180,78 +53227,78 @@ msgstr ""
#.
#. IF no integral type can represent all the enumerator values, the
#. enumeration is ill-formed.
-#: cp/decl.c:15927
+#: cp/decl.c:15945
#, gcc-internal-format
msgid "no integral type can represent all of the enumerator values for %qT"
msgstr ""
-#: cp/decl.c:16102
+#: cp/decl.c:16120
#, gcc-internal-format
msgid ""
"enumerator value for %qD must have integral or unscoped enumeration type"
msgstr ""
-#: cp/decl.c:16112
+#: cp/decl.c:16130
#, gcc-internal-format
msgid "enumerator value for %qD is not an integer constant"
msgstr ""
-#: cp/decl.c:16161
+#: cp/decl.c:16179
#, gcc-internal-format
msgid "incremented enumerator value is too large for %<unsigned long%>"
msgstr ""
-#: cp/decl.c:16162
+#: cp/decl.c:16180
#, gcc-internal-format
msgid "incremented enumerator value is too large for %<long%>"
msgstr ""
-#: cp/decl.c:16173
+#: cp/decl.c:16191
#, gcc-internal-format
msgid "overflow in enumeration values at %qD"
msgstr ""
-#: cp/decl.c:16193
+#: cp/decl.c:16211
#, gcc-internal-format
msgid "enumerator value %qE is outside the range of underlying type %qT"
msgstr ""
-#: cp/decl.c:16298 cp/parser.c:20062
+#: cp/decl.c:16316 cp/parser.c:20099
#, gcc-internal-format
msgid "multiple definition of %q#T"
msgstr ""
-#: cp/decl.c:16338
+#: cp/decl.c:16356
#, gcc-internal-format
msgid "return type %q#T is incomplete"
msgstr ""
-#: cp/decl.c:16498 cp/typeck.c:10213
+#: cp/decl.c:16516 cp/typeck.c:10220
#, gcc-internal-format
msgid "%<operator=%> should return a reference to %<*this%>"
msgstr ""
-#: cp/decl.c:17347
+#: cp/decl.c:17365
#, gcc-internal-format
msgid "no return statements in function returning %qT"
msgstr ""
-#: cp/decl.c:17349 cp/typeck.c:10093
+#: cp/decl.c:17367 cp/typeck.c:10100
#, gcc-internal-format
msgid "only plain %<auto%> return type can be deduced to %<void%>"
msgstr ""
-#: cp/decl.c:17411
+#: cp/decl.c:17429
#, gcc-internal-format
msgid "no return statement in %<constexpr%> function returning non-void"
msgstr ""
-#: cp/decl.c:17593
+#: cp/decl.c:17611
#, gcc-internal-format
msgid "%qD is already defined in class %qT"
msgstr ""
-#: cp/decl.c:17984
+#: cp/decl.c:18002
#, gcc-internal-format
msgid "use of %qD before deduction of %<auto%>"
msgstr ""
@@ -53293,7 +53340,7 @@ msgstr ""
msgid "deleting %qT is undefined"
msgstr ""
-#: cp/decl2.c:580 cp/pt.c:5824
+#: cp/decl2.c:580 cp/pt.c:5847
#, gcc-internal-format
msgid "template declaration of %q#D"
msgstr ""
@@ -53304,7 +53351,7 @@ msgid ""
"template parameter lists provided don%'t match the template parameters of %qD"
msgstr ""
-#: cp/decl2.c:635 cp/pt.c:5781
+#: cp/decl2.c:635 cp/pt.c:5804
#, gcc-internal-format
msgid "destructor %qD declared as member template"
msgstr ""
@@ -53634,22 +53681,22 @@ msgstr ""
#. We mark a lambda conversion op as deleted if we can't
#. generate it properly; see maybe_add_lambda_conv_op.
-#: cp/decl2.c:5618
+#: cp/decl2.c:5619
#, gcc-internal-format
msgid "converting lambda that uses %<...%> to function pointer"
msgstr ""
-#: cp/decl2.c:5621
+#: cp/decl2.c:5622
#, gcc-internal-format
msgid "use of deleted function %qD"
msgstr ""
-#: cp/decl2.c:5671
+#: cp/decl2.c:5672
#, gcc-internal-format
msgid "use of function %qD with unsatisfied constraints"
msgstr ""
-#: cp/decl2.c:5703
+#: cp/decl2.c:5704
#, gcc-internal-format
msgid "use of built-in parameter pack %qD outside of a template"
msgstr ""
@@ -53772,7 +53819,7 @@ msgstr ""
msgid "%qD is not a member of %qT; did you mean %qs?"
msgstr ""
-#: cp/error.c:4550 cp/typeck.c:2550
+#: cp/error.c:4550 cp/typeck.c:2561
#, gcc-internal-format
msgid "%qD is not a member of %qT"
msgstr ""
@@ -53782,7 +53829,7 @@ msgstr ""
msgid "%qD is not a member of %qD; did you mean %qs?"
msgstr ""
-#: cp/error.c:4576 cp/typeck.c:3146
+#: cp/error.c:4576 cp/typeck.c:3157
#, gcc-internal-format
msgid "%qD is not a member of %qD"
msgstr ""
@@ -53975,447 +54022,447 @@ msgstr ""
msgid "recursive instantiation of default member initializer for %qD"
msgstr ""
-#: cp/init.c:633
+#: cp/init.c:640
#, gcc-internal-format
msgid ""
"default member initializer for %qD required before the end of its enclosing "
"class"
msgstr ""
-#: cp/init.c:697
+#: cp/init.c:704
#, gcc-internal-format
msgid "initializer for flexible array member %q#D"
msgstr ""
-#: cp/init.c:755
+#: cp/init.c:762
#, gcc-internal-format
msgid ""
"initializing %qD from %qE does not extend the lifetime of the underlying "
"array"
msgstr ""
-#: cp/init.c:781
+#: cp/init.c:788
#, gcc-internal-format
msgid "%qD should be initialized in the member initialization list"
msgstr ""
-#: cp/init.c:802
+#: cp/init.c:809
#, gcc-internal-format
msgid "%qD is initialized with itself"
msgstr ""
-#: cp/init.c:918
+#: cp/init.c:925
#, gcc-internal-format
msgid "invalid initializer for array member %q#D"
msgstr ""
-#: cp/init.c:933 cp/init.c:959 cp/init.c:2504 cp/method.c:2261
+#: cp/init.c:940 cp/init.c:966 cp/init.c:2511 cp/method.c:2261
#, gcc-internal-format
msgid "uninitialized const member in %q#T"
msgstr ""
-#: cp/init.c:935 cp/init.c:953 cp/init.c:961 cp/init.c:2489 cp/init.c:2517
+#: cp/init.c:942 cp/init.c:960 cp/init.c:968 cp/init.c:2496 cp/init.c:2524
#: cp/method.c:2264 cp/method.c:2275
#, gcc-internal-format
msgid "%q#D should be initialized"
msgstr ""
-#: cp/init.c:951 cp/init.c:2476 cp/method.c:2272
+#: cp/init.c:958 cp/init.c:2483 cp/method.c:2272
#, gcc-internal-format
msgid "uninitialized reference member in %q#T"
msgstr ""
-#: cp/init.c:1128
+#: cp/init.c:1135
#, gcc-internal-format
msgid "%qD will be initialized after"
msgstr ""
-#: cp/init.c:1131
+#: cp/init.c:1138
#, gcc-internal-format
msgid "base %qT will be initialized after"
msgstr ""
-#: cp/init.c:1135
+#: cp/init.c:1142
#, gcc-internal-format
msgid " %q#D"
msgstr ""
-#: cp/init.c:1137
+#: cp/init.c:1144
#, gcc-internal-format
msgid " base %qT"
msgstr ""
-#: cp/init.c:1139
+#: cp/init.c:1146
#, gcc-internal-format
msgid " when initialized here"
msgstr ""
-#: cp/init.c:1156
+#: cp/init.c:1163
#, gcc-internal-format
msgid "multiple initializations given for %qD"
msgstr ""
-#: cp/init.c:1160
+#: cp/init.c:1167
#, gcc-internal-format
msgid "multiple initializations given for base %qT"
msgstr ""
-#: cp/init.c:1247
+#: cp/init.c:1254
#, gcc-internal-format
msgid "initializations for multiple members of %qT"
msgstr ""
-#: cp/init.c:1344
+#: cp/init.c:1351
#, gcc-internal-format
msgid ""
"base class %q#T should be explicitly initialized in the copy constructor"
msgstr ""
-#: cp/init.c:1575 cp/init.c:1594
+#: cp/init.c:1582 cp/init.c:1601
#, gcc-internal-format
msgid "class %qT does not have any field named %qD"
msgstr ""
-#: cp/init.c:1581
+#: cp/init.c:1588
#, gcc-internal-format
msgid ""
"%q#D is a static data member; it can only be initialized at its definition"
msgstr ""
-#: cp/init.c:1588
+#: cp/init.c:1595
#, gcc-internal-format
msgid "%q#D is not a non-static data member of %qT"
msgstr ""
-#: cp/init.c:1627
+#: cp/init.c:1634
#, gcc-internal-format
msgid "unnamed initializer for %qT, which has no base classes"
msgstr ""
-#: cp/init.c:1635
+#: cp/init.c:1642
#, gcc-internal-format
msgid "unnamed initializer for %qT, which uses multiple inheritance"
msgstr ""
-#: cp/init.c:1682
+#: cp/init.c:1689
#, gcc-internal-format
msgid "%qD is both a direct base and an indirect virtual base"
msgstr ""
-#: cp/init.c:1690
+#: cp/init.c:1697
#, gcc-internal-format
msgid "type %qT is not a direct or virtual base of %qT"
msgstr ""
-#: cp/init.c:1693
+#: cp/init.c:1700
#, gcc-internal-format
msgid "type %qT is not a direct base of %qT"
msgstr ""
-#: cp/init.c:1805 cp/init.c:4511 cp/typeck2.c:1238
+#: cp/init.c:1812 cp/init.c:4518 cp/typeck2.c:1238
#, gcc-internal-format
msgid "array must be initialized with a brace-enclosed initializer"
msgstr ""
-#: cp/init.c:2115 cp/semantics.c:3604
+#: cp/init.c:2122 cp/semantics.c:3622
#, gcc-internal-format
msgid "%qT is not a class type"
msgstr ""
-#: cp/init.c:2159
+#: cp/init.c:2166
#, gcc-internal-format
msgid "incomplete type %qT does not have member %qD"
msgstr ""
-#: cp/init.c:2173
+#: cp/init.c:2180
#, gcc-internal-format
msgid "invalid pointer to bit-field %qD"
msgstr ""
-#: cp/init.c:2259 cp/typeck.c:2018
+#: cp/init.c:2266 cp/typeck.c:2029
#, gcc-internal-format
msgid "invalid use of non-static member function %qD"
msgstr ""
-#: cp/init.c:2266 cp/semantics.c:2092
+#: cp/init.c:2273 cp/semantics.c:2111
#, gcc-internal-format
msgid "invalid use of non-static data member %qD"
msgstr ""
-#: cp/init.c:2473
+#: cp/init.c:2480
#, gcc-internal-format
msgid ""
"uninitialized reference member in %q#T using %<new%> without new-initializer"
msgstr ""
-#: cp/init.c:2481
+#: cp/init.c:2488
#, gcc-internal-format
msgid ""
"uninitialized reference member in base %q#T of %q#T using %<new%> without "
"new-initializer"
msgstr ""
-#: cp/init.c:2485
+#: cp/init.c:2492
#, gcc-internal-format
msgid "uninitialized reference member in base %q#T of %q#T"
msgstr ""
-#: cp/init.c:2501
+#: cp/init.c:2508
#, gcc-internal-format
msgid ""
"uninitialized const member in %q#T using %<new%> without new-initializer"
msgstr ""
-#: cp/init.c:2509
+#: cp/init.c:2516
#, gcc-internal-format
msgid ""
"uninitialized const member in base %q#T of %q#T using %<new%> without new-"
"initializer"
msgstr ""
-#: cp/init.c:2513
+#: cp/init.c:2520
#, gcc-internal-format
msgid "uninitialized const member in base %q#T of %q#T"
msgstr ""
-#: cp/init.c:2623
+#: cp/init.c:2630
#, gcc-internal-format
msgid ""
"placement new constructing an object of type %<%T [%wu]%> and size %qwu in a "
"region of type %qT and size %qwi"
msgstr ""
-#: cp/init.c:2626
+#: cp/init.c:2633
#, gcc-internal-format
msgid ""
"placement new constructing an object of type %<%T [%wu]%> and size %qwu in a "
"region of type %qT and size at most %qwu"
msgstr ""
-#: cp/init.c:2636
+#: cp/init.c:2643
#, gcc-internal-format
msgid ""
"placement new constructing an array of objects of type %qT and size %qwu in "
"a region of type %qT and size %qwi"
msgstr ""
-#: cp/init.c:2639
+#: cp/init.c:2646
#, gcc-internal-format
msgid ""
"placement new constructing an array of objects of type %qT and size %qwu in "
"a region of type %qT and size at most %qwu"
msgstr ""
-#: cp/init.c:2648
+#: cp/init.c:2655
#, gcc-internal-format
msgid ""
"placement new constructing an object of type %qT and size %qwu in a region "
"of type %qT and size %qwi"
msgstr ""
-#: cp/init.c:2651
+#: cp/init.c:2658
#, gcc-internal-format
msgid ""
"placement new constructing an object of type %qT and size %qwu in a region "
"of type %qT and size at most %qwu"
msgstr ""
-#: cp/init.c:2668
+#: cp/init.c:2675
#, gcc-internal-format
msgid "at offset %wi from %qD declared here"
msgstr ""
-#: cp/init.c:2672
+#: cp/init.c:2679
#, gcc-internal-format
msgid "at offset [%wi, %wi] from %qD declared here"
msgstr ""
-#: cp/init.c:2887
+#: cp/init.c:2894
#, gcc-internal-format
msgid "integer overflow in array size"
msgstr ""
-#: cp/init.c:2897
+#: cp/init.c:2904
#, gcc-internal-format
msgid "array size in new-expression must be constant"
msgstr ""
-#: cp/init.c:2915
+#: cp/init.c:2922
#, gcc-internal-format
msgid "variably modified type not allowed in new-expression"
msgstr ""
-#: cp/init.c:2931
+#: cp/init.c:2938
#, gcc-internal-format
msgid ""
"non-constant array new length must be specified directly, not by %<typedef%>"
msgstr ""
-#: cp/init.c:2933
+#: cp/init.c:2940
#, gcc-internal-format
msgid ""
"non-constant array new length must be specified without parentheses around "
"the type-id"
msgstr ""
-#: cp/init.c:2943
+#: cp/init.c:2950
#, gcc-internal-format
msgid "invalid type %<void%> for %<new%>"
msgstr ""
-#: cp/init.c:2949
+#: cp/init.c:2956
#, gcc-internal-format
msgid ""
"%<new%> of %<initializer_list%> does not extend the lifetime of the "
"underlying array"
msgstr ""
-#: cp/init.c:2991
+#: cp/init.c:2998
#, gcc-internal-format
msgid "uninitialized const in %<new%> of %q#T"
msgstr ""
-#: cp/init.c:3135
+#: cp/init.c:3142
#, gcc-internal-format
msgid "no suitable %qD found in class %qT"
msgstr ""
-#: cp/init.c:3142 cp/search.c:1058
+#: cp/init.c:3149 cp/search.c:1058
#, gcc-internal-format
msgid "request for member %qD is ambiguous"
msgstr ""
-#: cp/init.c:3216
+#: cp/init.c:3223
#, gcc-internal-format
msgid "%<new%> of type %qT with extended alignment %d"
msgstr ""
-#: cp/init.c:3219
+#: cp/init.c:3226
#, gcc-internal-format
msgid "uses %qD, which does not have an alignment parameter"
msgstr ""
-#: cp/init.c:3222
+#: cp/init.c:3229
#, gcc-internal-format
msgid "use %<-faligned-new%> to enable C++17 over-aligned new support"
msgstr ""
-#: cp/init.c:3419
+#: cp/init.c:3426
#, gcc-internal-format
msgid "parenthesized initializer in array new"
msgstr ""
-#: cp/init.c:3712
+#: cp/init.c:3719
#, gcc-internal-format
msgid "size in array new must have integral type"
msgstr ""
-#: cp/init.c:3741
+#: cp/init.c:3748
#, gcc-internal-format
msgid "new cannot be applied to a reference type"
msgstr ""
-#: cp/init.c:3750
+#: cp/init.c:3757
#, gcc-internal-format
msgid "new cannot be applied to a function type"
msgstr ""
-#: cp/init.c:3869
+#: cp/init.c:3876
#, gcc-internal-format
msgid "possible problem detected in invocation of operator %<delete []%>"
msgstr ""
-#: cp/init.c:3873
+#: cp/init.c:3880
#, gcc-internal-format
msgid ""
"neither the destructor nor the class-specific operator %<delete []%> will be "
"called, even if they are declared when the class is defined"
msgstr ""
-#: cp/init.c:4420
+#: cp/init.c:4427
#, gcc-internal-format
msgid "initializer ends prematurely"
msgstr ""
-#: cp/init.c:4726
+#: cp/init.c:4733
#, gcc-internal-format
msgid "unknown array size in delete"
msgstr ""
-#: cp/init.c:4760
+#: cp/init.c:4767
#, gcc-internal-format
msgid "possible problem detected in invocation of %<operator delete%>"
msgstr ""
-#: cp/init.c:4765
+#: cp/init.c:4772
#, gcc-internal-format
msgid ""
"neither the destructor nor the class-specific %<operator delete%> will be "
"called, even if they are declared when the class is defined"
msgstr ""
-#: cp/init.c:4780
+#: cp/init.c:4787
#, gcc-internal-format
msgid ""
"deleting object of abstract class type %qT which has non-virtual destructor "
"will cause undefined behavior"
msgstr ""
-#: cp/init.c:4785
+#: cp/init.c:4792
#, gcc-internal-format
msgid ""
"deleting object of polymorphic class type %qT which has non-virtual "
"destructor might cause undefined behavior"
msgstr ""
-#: cp/init.c:5089
+#: cp/init.c:5096
#, gcc-internal-format
msgid "type to vector delete is neither pointer or array type"
msgstr ""
-#: cp/lambda.c:528
+#: cp/lambda.c:529
#, gcc-internal-format
msgid "array of runtime bound cannot be captured by copy, only by reference"
msgstr ""
-#: cp/lambda.c:543
+#: cp/lambda.c:544
#, gcc-internal-format
msgid ""
"capture of variably-modified type %qT that is not an N3639 array of runtime "
"bound"
msgstr ""
-#: cp/lambda.c:547
+#: cp/lambda.c:548
#, gcc-internal-format
msgid "because the array element type %qT has variable size"
msgstr ""
-#: cp/lambda.c:571
+#: cp/lambda.c:572
#, gcc-internal-format
msgid "cannot capture %qE by reference"
msgstr ""
-#: cp/lambda.c:581
+#: cp/lambda.c:582
#, gcc-internal-format
msgid "capture by copy of incomplete type %qT"
msgstr ""
-#: cp/lambda.c:633
+#: cp/lambda.c:637
#, gcc-internal-format
msgid "trying to capture %qD in instantiation of generic lambda"
msgstr ""
-#: cp/lambda.c:709
+#: cp/lambda.c:713
#, gcc-internal-format
msgid "implicit capture of %qE via %<[=]%> is deprecated in C++20"
msgstr ""
-#: cp/lambda.c:711
+#: cp/lambda.c:715
#, gcc-internal-format
msgid "add explicit %<this%> or %<*this%> capture"
msgstr ""
-#: cp/lambda.c:825
+#: cp/lambda.c:829
#, gcc-internal-format
msgid "%<this%> was not captured for this lambda function"
msgstr ""
@@ -54474,71 +54521,71 @@ msgid ""
"use of an undeclared name is deprecated)"
msgstr ""
-#: cp/mangle.c:2357
+#: cp/mangle.c:2350
#, gcc-internal-format
msgid "mangling %<typeof%>, use %<decltype%> instead"
msgstr ""
-#: cp/mangle.c:2361
+#: cp/mangle.c:2354
#, gcc-internal-format
msgid "mangling %<__underlying_type%>"
msgstr ""
-#: cp/mangle.c:2668
+#: cp/mangle.c:2661
#, gcc-internal-format
msgid "mangling unknown fixed point type"
msgstr ""
-#: cp/mangle.c:3428
+#: cp/mangle.c:3439
#, gcc-internal-format
msgid ""
"use of built-in trait %qE in function signature; use library traits instead"
msgstr ""
-#: cp/mangle.c:3433
+#: cp/mangle.c:3444
#, gcc-internal-format, gfc-internal-format
msgid "mangling %C"
msgstr ""
-#: cp/mangle.c:3509
+#: cp/mangle.c:3520
#, gcc-internal-format
msgid "omitted middle operand to %<?:%> operand cannot be mangled"
msgstr ""
-#: cp/mangle.c:4074
+#: cp/mangle.c:4085
#, gcc-internal-format
msgid ""
"mangled name for %qD will change in C++17 because the exception "
"specification is part of a function type"
msgstr ""
-#: cp/mangle.c:4120
+#: cp/mangle.c:4131
#, gcc-internal-format
msgid ""
"the mangled name of %qD changed between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)"
msgstr ""
-#: cp/mangle.c:4126
+#: cp/mangle.c:4137
#, gcc-internal-format
msgid ""
"the mangled name of %qD changes between %<%s=%d%> (%qD) and %<%s=%d%> (%qD)"
msgstr ""
-#: cp/mangle.c:4398
+#: cp/mangle.c:4409
#, gcc-internal-format
msgid ""
"the mangled name of a thunk for %qD changes between %<-fabi-version=%d%> and "
"%<-fabi-version=%d%>"
msgstr ""
-#: cp/mangle.c:4403
+#: cp/mangle.c:4414
#, gcc-internal-format
msgid ""
"the mangled name of %qD changes between %<-fabi-version=%d%> and %<-fabi-"
"version=%d%>"
msgstr ""
-#: cp/mangle.c:4408
+#: cp/mangle.c:4419
#, gcc-internal-format
msgid ""
"the mangled name of the initialization guard variable for %qD changes "
@@ -54736,310 +54783,310 @@ msgid ""
"match the implicit exception-specification %qX"
msgstr ""
-#: cp/method.c:3136
+#: cp/method.c:3153
#, gcc-internal-format
msgid "defaulted declaration %q+D does not match the expected signature"
msgstr ""
-#: cp/method.c:3139
+#: cp/method.c:3156
#, gcc-internal-format
msgid "expected signature: %qD"
msgstr ""
-#: cp/method.c:3171
+#: cp/method.c:3188
#, gcc-internal-format
msgid ""
"explicitly defaulted function %q+D cannot be declared %qs because the "
"implicit declaration is not %qs:"
msgstr ""
-#: cp/method.c:3191
+#: cp/method.c:3208
#, gcc-internal-format
msgid "a template cannot be defaulted"
msgstr ""
-#: cp/method.c:3226
+#: cp/method.c:3243
#, gcc-internal-format
msgid "%qD cannot be defaulted"
msgstr ""
-#: cp/method.c:3235
+#: cp/method.c:3252
#, gcc-internal-format
msgid "defaulted function %q+D with default argument"
msgstr ""
-#: cp/name-lookup.c:2727
+#: cp/name-lookup.c:2728
#, gcc-internal-format
msgid "redeclaration of %q#D with different template parameters"
msgstr ""
-#: cp/name-lookup.c:2733
+#: cp/name-lookup.c:2734
#, gcc-internal-format
msgid "%q#D conflicts with a previous declaration"
msgstr ""
-#: cp/name-lookup.c:2910
+#: cp/name-lookup.c:2911
#, gcc-internal-format
msgid "%q#D hides constructor for %q#D"
msgstr ""
-#: cp/name-lookup.c:3059
+#: cp/name-lookup.c:3060
#, gcc-internal-format
msgid "conflicting C language linkage declaration %q#D"
msgstr ""
-#: cp/name-lookup.c:3064
+#: cp/name-lookup.c:3065
#, gcc-internal-format
msgid "due to different exception specifications"
msgstr ""
-#: cp/name-lookup.c:3162
+#: cp/name-lookup.c:3163
#, gcc-internal-format
msgid "lambda parameter %qD previously declared as a capture"
msgstr ""
-#: cp/name-lookup.c:3185
+#: cp/name-lookup.c:3186
#, gcc-internal-format
msgid "declaration of %q#D shadows a parameter"
msgstr ""
-#: cp/name-lookup.c:3319
+#: cp/name-lookup.c:3320
#, gcc-internal-format
msgid "declaration of %qD shadows a member of %qT"
msgstr ""
-#: cp/name-lookup.c:3746
+#: cp/name-lookup.c:3763
#, gcc-internal-format
msgid "friend declaration %qD in local class without prior local declaration"
msgstr ""
-#: cp/name-lookup.c:4226
+#: cp/name-lookup.c:4243
#, gcc-internal-format
msgid "%s %<%s(%E)%> %p %d"
msgstr ""
-#: cp/name-lookup.c:4229
+#: cp/name-lookup.c:4246
#, gcc-internal-format
msgid "%s %s %p %d"
msgstr ""
-#: cp/name-lookup.c:4844
+#: cp/name-lookup.c:4861
#, gcc-internal-format
msgid "%q#D does not have external linkage"
msgstr ""
-#: cp/name-lookup.c:4846 cp/parser.c:11133 cp/parser.c:11143
-#: cp/semantics.c:3788 cp/semantics.c:3800
+#: cp/name-lookup.c:4863 cp/parser.c:11154 cp/parser.c:11164
+#: cp/semantics.c:3806 cp/semantics.c:3818
#, gcc-internal-format
msgid "%q#D declared here"
msgstr ""
-#: cp/name-lookup.c:5588
+#: cp/name-lookup.c:5605
#, gcc-internal-format
msgid "%<%T%s%D%> names destructor"
msgstr ""
-#: cp/name-lookup.c:5604
+#: cp/name-lookup.c:5621
#, gcc-internal-format
msgid "using-declaration for non-member at class scope"
msgstr ""
-#: cp/name-lookup.c:5612
+#: cp/name-lookup.c:5629
#, gcc-internal-format
msgid ""
"%<using%> with enumeration scope %q#T only available with %<-std=c++20%> or "
"%<-std=gnu++20%>"
msgstr ""
-#: cp/name-lookup.c:5628 cp/pt.c:18214
+#: cp/name-lookup.c:5645 cp/pt.c:18303
#, gcc-internal-format
msgid "%qT is not a class, namespace, or enumeration"
msgstr ""
-#: cp/name-lookup.c:5638
+#: cp/name-lookup.c:5655
#, gcc-internal-format
msgid "non-member using-declaration names constructor of %qT"
msgstr ""
-#: cp/name-lookup.c:5649 cp/name-lookup.c:5707
+#: cp/name-lookup.c:5666 cp/name-lookup.c:5724
#, gcc-internal-format
msgid "using-declaration for member at non-class scope"
msgstr ""
-#: cp/name-lookup.c:5672
+#: cp/name-lookup.c:5689
#, gcc-internal-format
msgid "%qT is not a direct base of %qT"
msgstr ""
-#: cp/name-lookup.c:5717
+#: cp/name-lookup.c:5734
#, gcc-internal-format
msgid "did you mean %<using enum %T::%D%>?"
msgstr ""
-#: cp/name-lookup.c:5729
+#: cp/name-lookup.c:5746
#, gcc-internal-format
msgid "%qD has not been declared in %qD"
msgstr ""
-#: cp/name-lookup.c:5743
+#: cp/name-lookup.c:5760
#, gcc-internal-format
msgid "using-declaration may not name namespace %qD"
msgstr ""
-#: cp/name-lookup.c:5754
+#: cp/name-lookup.c:5771
#, gcc-internal-format
msgid "%<%T::%D%> names constructor in %qT"
msgstr ""
-#: cp/name-lookup.c:5850
+#: cp/name-lookup.c:5867
#, gcc-internal-format
msgid "declaration of %qD not in a namespace surrounding %qD"
msgstr ""
-#: cp/name-lookup.c:5891
+#: cp/name-lookup.c:5908
#, gcc-internal-format
msgid "explicit qualification in declaration of %qD"
msgstr ""
-#: cp/name-lookup.c:5901
+#: cp/name-lookup.c:5918
#, gcc-internal-format
msgid "%qD should have been declared inside %qD"
msgstr ""
-#: cp/name-lookup.c:5954
+#: cp/name-lookup.c:5971
#, gcc-internal-format
msgid "%qD has not been declared within %qD"
msgstr ""
-#: cp/name-lookup.c:5956
+#: cp/name-lookup.c:5973
#, gcc-internal-format
msgid "only here as a %<friend%>"
msgstr ""
-#: cp/name-lookup.c:6010
+#: cp/name-lookup.c:6027
#, gcc-internal-format
msgid "%qD attribute requires a single NTBS argument"
msgstr ""
-#: cp/name-lookup.c:6017
+#: cp/name-lookup.c:6034
#, gcc-internal-format
msgid ""
"%qD attribute is meaningless since members of the anonymous namespace get "
"local symbols"
msgstr ""
-#: cp/name-lookup.c:6027 cp/name-lookup.c:6054
+#: cp/name-lookup.c:6044 cp/name-lookup.c:6071
#, gcc-internal-format
msgid "ignoring %qD attribute on anonymous namespace"
msgstr ""
-#: cp/name-lookup.c:6033
+#: cp/name-lookup.c:6050
#, gcc-internal-format
msgid "ignoring %qD attribute on non-inline namespace"
msgstr ""
-#: cp/name-lookup.c:6070 cp/name-lookup.c:8581
+#: cp/name-lookup.c:6087 cp/name-lookup.c:8598
#, gcc-internal-format
msgid "%qD attribute directive ignored"
msgstr ""
-#: cp/name-lookup.c:6398
+#: cp/name-lookup.c:6415
#, gcc-internal-format
msgid "maximum limit of %d namespaces searched for %qE"
msgstr ""
-#: cp/name-lookup.c:6450
+#: cp/name-lookup.c:6467
#, gcc-internal-format
msgid "suggested alternative:"
msgid_plural "suggested alternatives:"
msgstr[0] ""
msgstr[1] ""
-#: cp/name-lookup.c:6456
+#: cp/name-lookup.c:6473
#, gcc-internal-format
msgid " %qE"
msgstr ""
-#: cp/name-lookup.c:6985
+#: cp/name-lookup.c:7002
#, gcc-internal-format
msgid ""
"%<std::%s%> is defined in header %qs; did you forget to %<#include %s%>?"
msgstr ""
-#: cp/name-lookup.c:6991
+#: cp/name-lookup.c:7008
#, gcc-internal-format
msgid "%<std::%s%> is only available from %s onwards"
msgstr ""
-#: cp/name-lookup.c:7427
+#: cp/name-lookup.c:7444
#, gcc-internal-format
msgid "the macro %qs had not yet been defined"
msgstr ""
-#: cp/name-lookup.c:7430
+#: cp/name-lookup.c:7447
#, gcc-internal-format
msgid "it was later defined here"
msgstr ""
-#: cp/name-lookup.c:8213
+#: cp/name-lookup.c:8230
#, gcc-internal-format
msgid ""
"declaration of %<std::initializer_list%> does not match %<#include "
"<initializer_list>%>, isn%'t a template"
msgstr ""
-#: cp/name-lookup.c:8575
+#: cp/name-lookup.c:8592
#, gcc-internal-format
msgid "%<strong%> using directive no longer supported"
msgstr ""
-#: cp/name-lookup.c:8578
+#: cp/name-lookup.c:8595
#, gcc-internal-format
msgid "you can use an inline namespace instead"
msgstr ""
#. We only allow depth 255.
-#: cp/name-lookup.c:8669
+#: cp/name-lookup.c:8686
#, gcc-internal-format, gfc-internal-format
msgid "cannot nest more than %d namespaces"
msgstr ""
-#: cp/name-lookup.c:8766
+#: cp/name-lookup.c:8783
#, gcc-internal-format
msgid "%<namespace %E%> is ambiguous"
msgstr ""
-#: cp/name-lookup.c:8782
+#: cp/name-lookup.c:8799
#, gcc-internal-format
msgid "namespace alias %qD not allowed here, assuming %qD"
msgstr ""
-#: cp/name-lookup.c:8862
+#: cp/name-lookup.c:8879
#, gcc-internal-format
msgid "inline namespace must be specified at initial definition"
msgstr ""
-#: cp/name-lookup.c:8863
+#: cp/name-lookup.c:8880
#, gcc-internal-format
msgid "%qD defined here"
msgstr ""
-#: cp/name-lookup.c:8915
+#: cp/name-lookup.c:8932
#, gcc-internal-format
msgid "%s namespace %qD conflicts with reachable definition"
msgstr ""
-#: cp/name-lookup.c:8917
+#: cp/name-lookup.c:8934
#, gcc-internal-format, gfc-internal-format
msgid "reachable %s definition here"
msgstr ""
-#: cp/name-lookup.c:8997
+#: cp/name-lookup.c:9014
#, gcc-internal-format
msgid "XXX entering %<pop_everything ()%>"
msgstr ""
-#: cp/name-lookup.c:9006
+#: cp/name-lookup.c:9023
#, gcc-internal-format
msgid "XXX leaving %<pop_everything ()%>"
msgstr ""
@@ -55064,7 +55111,7 @@ msgstr ""
msgid "%<LEXER_DEBUGGING_ENABLED_P%> is not set to true"
msgstr ""
-#: cp/parser.c:1415 cp/parser.c:42693
+#: cp/parser.c:1415 cp/parser.c:42746
#, gcc-internal-format
msgid ""
"%<#pragma omp declare %s%> not immediately followed by function declaration "
@@ -55091,7 +55138,7 @@ msgstr ""
msgid "request for member %qE in non-class type %qT"
msgstr ""
-#: cp/parser.c:3106 cp/parser.c:20001
+#: cp/parser.c:3106 cp/parser.c:20038
#, gcc-internal-format
msgid "%<%T::%E%> has not been declared"
msgstr ""
@@ -55171,7 +55218,7 @@ msgstr ""
msgid "ISO C++ forbids using a floating-point literal in a constant-expression"
msgstr ""
-#: cp/parser.c:3301 cp/pt.c:19710
+#: cp/parser.c:3301 cp/pt.c:19798
#, gcc-internal-format
msgid ""
"a cast to a type other than an integral or enumeration type cannot appear in "
@@ -55317,7 +55364,7 @@ msgstr ""
msgid "%<concept%> only available with %<-std=c++20%> or %<-fconcepts%>"
msgstr ""
-#: cp/parser.c:3496 cp/parser.c:28706
+#: cp/parser.c:3496 cp/parser.c:28760
#, gcc-internal-format
msgid "%<requires%> only available with %<-std=c++20%> or %<-fconcepts%>"
msgstr ""
@@ -55447,7 +55494,7 @@ msgstr ""
msgid "global module fragment contents must be from preprocessor inclusion"
msgstr ""
-#: cp/parser.c:4935 cp/parser.c:14325
+#: cp/parser.c:4935 cp/parser.c:14349
#, gcc-internal-format
msgid "expected declaration"
msgstr ""
@@ -55499,7 +55546,7 @@ msgstr ""
msgid "fold-expressions only available with %<-std=c++17%> or %<-std=gnu++17%>"
msgstr ""
-#: cp/parser.c:5638 cp/parser.c:5817 cp/parser.c:5995 cp/semantics.c:3942
+#: cp/parser.c:5638 cp/parser.c:5817 cp/parser.c:5995 cp/semantics.c:3960
#, gcc-internal-format
msgid "expected primary-expression"
msgstr ""
@@ -55529,7 +55576,7 @@ msgstr ""
msgid "%<template%> keyword not permitted in destructor name"
msgstr ""
-#: cp/parser.c:6329 cp/parser.c:8350
+#: cp/parser.c:6329 cp/parser.c:8357
#, gcc-internal-format
msgid "%<~auto%> only available with %<-std=c++14%> or %<-std=gnu++14%>"
msgstr ""
@@ -55549,12 +55596,12 @@ msgstr ""
msgid "typedef-name %qD used as destructor declarator"
msgstr ""
-#: cp/parser.c:6500 cp/parser.c:22400
+#: cp/parser.c:6500 cp/parser.c:22437
#, gcc-internal-format
msgid "expected unqualified-id"
msgstr ""
-#: cp/parser.c:6527 cp/typeck.c:2843 cp/typeck.c:2846 cp/typeck.c:2863
+#: cp/parser.c:6527 cp/typeck.c:2854 cp/typeck.c:2857 cp/typeck.c:2874
#, gcc-internal-format
msgid "%qD is not a template"
msgstr ""
@@ -55589,7 +55636,7 @@ msgstr ""
msgid "expected nested-name-specifier"
msgstr ""
-#: cp/parser.c:7143 cp/parser.c:9595
+#: cp/parser.c:7143 cp/parser.c:9602
#, gcc-internal-format
msgid "types may not be defined in casts"
msgstr ""
@@ -55604,7 +55651,7 @@ msgstr ""
msgid "wrong number of arguments to %<__builtin_addressof%>"
msgstr ""
-#: cp/parser.c:7336 cp/pt.c:20360
+#: cp/parser.c:7336 cp/pt.c:20448
#, gcc-internal-format
msgid "wrong number of arguments to %<__builtin_launder%>"
msgstr ""
@@ -55619,1193 +55666,1198 @@ msgstr ""
msgid "two consecutive %<[%> shall only introduce an attribute"
msgstr ""
-#: cp/parser.c:8088 cp/typeck.c:2731
+#: cp/parser.c:8095 cp/typeck.c:2742
#, gcc-internal-format
msgid "invalid use of %qD"
msgstr ""
-#: cp/parser.c:8097
+#: cp/parser.c:8104
#, gcc-internal-format
msgid "%<%D::%D%> is not a class member"
msgstr ""
-#: cp/parser.c:8402
+#: cp/parser.c:8409
#, gcc-internal-format
msgid "non-scalar type"
msgstr ""
-#: cp/parser.c:8512
+#: cp/parser.c:8519
#, gcc-internal-format
msgid "ISO C++ does not allow %<alignof%> with a non-type"
msgstr ""
-#: cp/parser.c:8607
+#: cp/parser.c:8614
#, gcc-internal-format
msgid "types may not be defined in %<noexcept%> expressions"
msgstr ""
-#: cp/parser.c:8881 cp/parser.c:31202
+#: cp/parser.c:8888 cp/parser.c:31256
#, gcc-internal-format
msgid "types may not be defined in %qs expressions"
msgstr ""
-#: cp/parser.c:8946
+#: cp/parser.c:8953
#, gcc-internal-format
msgid "%<__builtin_has_attribute%> with dependent argument not supported yet"
msgstr ""
-#: cp/parser.c:9032
+#: cp/parser.c:9039
#, gcc-internal-format
msgid "types may not be defined in a new-expression"
msgstr ""
-#: cp/parser.c:9048
+#: cp/parser.c:9055
#, gcc-internal-format
msgid "array bound forbidden after parenthesized type-id"
msgstr ""
-#: cp/parser.c:9050
+#: cp/parser.c:9057
#, gcc-internal-format
msgid "try removing the parentheses around the type-id"
msgstr ""
-#: cp/parser.c:9082
+#: cp/parser.c:9089
#, gcc-internal-format
msgid ""
"initialization of new-expression for type %<auto%> requires exactly one "
"element"
msgstr ""
-#: cp/parser.c:9127
+#: cp/parser.c:9134
#, gcc-internal-format
msgid "expected expression-list or type-id"
msgstr ""
-#: cp/parser.c:9156
+#: cp/parser.c:9163
#, gcc-internal-format
msgid "types may not be defined in a new-type-id"
msgstr ""
-#: cp/parser.c:9291
+#: cp/parser.c:9298
#, gcc-internal-format
msgid "expression in new-declarator must have integral or enumeration type"
msgstr ""
-#: cp/parser.c:9700
+#: cp/parser.c:9707
#, gcc-internal-format
msgid "use of old-style cast to %q#T"
msgstr ""
-#: cp/parser.c:9849
+#: cp/parser.c:9856
#, gcc-internal-format
msgid "%<>>%> operator is treated as two right angle brackets in C++11"
msgstr ""
-#: cp/parser.c:9852
+#: cp/parser.c:9859
#, gcc-internal-format
msgid "suggest parentheses around %<>>%> expression"
msgstr ""
-#: cp/parser.c:10060
+#: cp/parser.c:10067
#, gcc-internal-format
msgid "ISO C++ does not allow %<?:%> with omitted middle operand"
msgstr ""
-#: cp/parser.c:10349
+#: cp/parser.c:10356
#, gcc-internal-format
msgid "top-level comma expression in array subscript is deprecated"
msgstr ""
-#: cp/parser.c:10499
+#: cp/parser.c:10506
#, gcc-internal-format
msgid "types may not be defined within %<__builtin_offsetof%>"
msgstr ""
-#: cp/parser.c:10798
+#: cp/parser.c:10809
+#, gcc-internal-format
+msgid "lambda-expression in template parameter type"
+msgstr ""
+
+#: cp/parser.c:10819
#, gcc-internal-format
msgid ""
"lambda-expression in unevaluated context only available with %<-std=c++20%> "
"or %<-std=gnu++20%>"
msgstr ""
-#: cp/parser.c:10808
+#: cp/parser.c:10829
#, gcc-internal-format
msgid ""
"lambda-expression in template-argument only available with %<-std=c++20%> or "
"%<-std=gnu++20%>"
msgstr ""
-#: cp/parser.c:10960
+#: cp/parser.c:10981
#, gcc-internal-format
msgid "non-local lambda expression cannot have a capture-default"
msgstr ""
-#: cp/parser.c:10982
+#: cp/parser.c:11003
#, gcc-internal-format
msgid "expected end of capture-list"
msgstr ""
-#: cp/parser.c:10997
+#: cp/parser.c:11018
#, gcc-internal-format
msgid ""
"explicit by-copy capture of %<this%> redundant with by-copy capture default"
msgstr ""
-#: cp/parser.c:11002 cp/parser.c:11023 cp/parser.c:11215
+#: cp/parser.c:11023 cp/parser.c:11044 cp/parser.c:11236
#, gcc-internal-format
msgid "already captured %qD in lambda expression"
msgstr ""
-#: cp/parser.c:11017
+#: cp/parser.c:11038
#, gcc-internal-format
msgid ""
"%<*this%> capture only available with %<-std=c++17%> or %<-std=gnu++17%>"
msgstr ""
-#: cp/parser.c:11037
+#: cp/parser.c:11058
#, gcc-internal-format
msgid "%<this%> cannot be captured by reference"
msgstr ""
-#: cp/parser.c:11056
+#: cp/parser.c:11077
#, gcc-internal-format
msgid ""
"pack init-capture only available with %<-std=c++20%> or %<-std=gnu++20%>"
msgstr ""
-#: cp/parser.c:11067
+#: cp/parser.c:11088
#, gcc-internal-format
msgid "%<&%> should come before %<...%>"
msgstr ""
-#: cp/parser.c:11098
+#: cp/parser.c:11119
#, gcc-internal-format
msgid ""
"lambda capture initializers only available with %<-std=c++14%> or %<-std=gnu+"
"+14%>"
msgstr ""
-#: cp/parser.c:11105
+#: cp/parser.c:11126
#, gcc-internal-format
msgid "empty initializer for lambda init-capture"
msgstr ""
-#: cp/parser.c:11129
+#: cp/parser.c:11150
#, gcc-internal-format
msgid "capture of non-variable %qE"
msgstr ""
-#: cp/parser.c:11139
+#: cp/parser.c:11160
#, gcc-internal-format
msgid "capture of variable %qD with non-automatic storage duration"
msgstr ""
-#: cp/parser.c:11177
+#: cp/parser.c:11198
#, gcc-internal-format
msgid "too many %<...%> in lambda capture"
msgstr ""
-#: cp/parser.c:11188
+#: cp/parser.c:11209
#, gcc-internal-format
msgid "explicit by-copy capture of %qD redundant with by-copy capture default"
msgstr ""
-#: cp/parser.c:11193
+#: cp/parser.c:11214
#, gcc-internal-format
msgid ""
"explicit by-reference capture of %qD redundant with by-reference capture "
"default"
msgstr ""
-#: cp/parser.c:11272
+#: cp/parser.c:11293
#, gcc-internal-format
msgid ""
"lambda templates are only available with %<-std=c++14%> or %<-std=gnu++14%>"
msgstr ""
-#: cp/parser.c:11276
+#: cp/parser.c:11297
#, gcc-internal-format
msgid ""
"lambda templates are only available with %<-std=c++20%> or %<-std=gnu++20%>"
msgstr ""
-#: cp/parser.c:11344
+#: cp/parser.c:11365
#, gcc-internal-format
msgid "default argument specified for lambda parameter"
msgstr ""
-#: cp/parser.c:11364
+#: cp/parser.c:11385
#, gcc-internal-format
msgid ""
"parameter declaration before lambda declaration specifiers only optional "
"with %<-std=c++2b%> or %<-std=gnu++2b%>"
msgstr ""
-#: cp/parser.c:11376
+#: cp/parser.c:11397
#, gcc-internal-format
msgid "duplicate %<mutable%>"
msgstr ""
-#: cp/parser.c:11383
+#: cp/parser.c:11404
#, gcc-internal-format
msgid ""
"parameter declaration before lambda transaction qualifier only optional with "
"%<-std=c++2b%> or %<-std=gnu++2b%>"
msgstr ""
-#: cp/parser.c:11396
+#: cp/parser.c:11417
#, gcc-internal-format
msgid ""
"parameter declaration before lambda exception specification only optional "
"with %<-std=c++2b%> or %<-std=gnu++2b%>"
msgstr ""
-#: cp/parser.c:11414
+#: cp/parser.c:11435
#, gcc-internal-format
msgid ""
"parameter declaration before lambda trailing return type only optional with "
"%<-std=c++2b%> or %<-std=gnu++2b%>"
msgstr ""
-#: cp/parser.c:11456
+#: cp/parser.c:11477
#, gcc-internal-format
msgid ""
"%<constexpr%> lambda only available with %<-std=c++17%> or %<-std=gnu++17%>"
msgstr ""
-#: cp/parser.c:11845 cp/parser.c:12046
+#: cp/parser.c:11866 cp/parser.c:12067
#, gcc-internal-format
msgid "attributes at the beginning of statement are ignored"
msgstr ""
-#: cp/parser.c:11885
+#: cp/parser.c:11906
#, gcc-internal-format
msgid "expected labeled-statement"
msgstr ""
-#: cp/parser.c:11934
+#: cp/parser.c:11955
#, gcc-internal-format
msgid "case label %qE not within a switch statement"
msgstr ""
-#: cp/parser.c:12053
+#: cp/parser.c:12074
#, gcc-internal-format
msgid "need %<typename%> before %qE because %qT is a dependent scope"
msgstr ""
-#: cp/parser.c:12062
+#: cp/parser.c:12083
#, gcc-internal-format
msgid "%<%T::%D%> names the constructor, not the type"
msgstr ""
-#: cp/parser.c:12110
+#: cp/parser.c:12131
#, gcc-internal-format
msgid "compound-statement in %<constexpr%> function"
msgstr ""
-#: cp/parser.c:12275
+#: cp/parser.c:12297
#, gcc-internal-format
msgid "%<if constexpr%> only available with %<-std=c++17%> or %<-std=gnu++17%>"
msgstr ""
-#: cp/parser.c:12302
+#: cp/parser.c:12324
#, gcc-internal-format
msgid ""
"init-statement in selection statements only available with %<-std=c++17%> or "
"%<-std=gnu++17%>"
msgstr ""
-#: cp/parser.c:12470 cp/parser.c:31686
+#: cp/parser.c:12492 cp/parser.c:31740
#, gcc-internal-format
msgid "expected selection-statement"
msgstr ""
-#: cp/parser.c:12511
+#: cp/parser.c:12533
#, gcc-internal-format
msgid "condition declares an array"
msgstr ""
-#: cp/parser.c:12513
+#: cp/parser.c:12535
#, gcc-internal-format
msgid "condition declares a function"
msgstr ""
-#: cp/parser.c:12553
+#: cp/parser.c:12575
#, gcc-internal-format
msgid "types may not be defined in conditions"
msgstr ""
#. Anything else is an error.
-#: cp/parser.c:12634 cp/parser.c:21692 cp/parser.c:24161
+#: cp/parser.c:12656 cp/parser.c:21729 cp/parser.c:24198
#, gcc-internal-format
msgid "expected initializer"
msgstr ""
-#: cp/parser.c:12918
+#: cp/parser.c:12942
#, gcc-internal-format
msgid ""
"loop variable %qD of type %qT binds to a temporary constructed from type %qT"
msgstr ""
#. rval
-#: cp/parser.c:12925
+#: cp/parser.c:12949
#, gcc-internal-format
msgid ""
"use non-reference type %qT to make the copy explicit or %qT to prevent "
"copying"
msgstr ""
-#: cp/parser.c:12950
+#: cp/parser.c:12974
#, gcc-internal-format
msgid "loop variable %qD creates a copy from type %qT"
msgstr ""
-#: cp/parser.c:12955
+#: cp/parser.c:12979
#, gcc-internal-format
msgid "use reference type to prevent copying"
msgstr ""
-#: cp/parser.c:13098
+#: cp/parser.c:13122
#, gcc-internal-format
msgid "range-based %<for%> expression of type %qT has incomplete type"
msgstr ""
-#: cp/parser.c:13182
+#: cp/parser.c:13206
#, gcc-internal-format
msgid ""
"inconsistent begin/end types in range-based %<for%> statement: %qT and %qT"
msgstr ""
-#: cp/parser.c:13325 cp/parser.c:31689
+#: cp/parser.c:13349 cp/parser.c:31743
#, gcc-internal-format
msgid "expected iteration-statement"
msgstr ""
-#: cp/parser.c:13371
+#: cp/parser.c:13395
#, gcc-internal-format
msgid ""
"range-based %<for%> loops with initializer only available with %<-std=c+"
"+20%> or %<-std=gnu++20%>"
msgstr ""
-#: cp/parser.c:13395
+#: cp/parser.c:13419
#, gcc-internal-format
msgid ""
"range-based %<for%> loops only available with %<-std=c++11%> or %<-std=gnu+"
"+11%>"
msgstr ""
-#: cp/parser.c:13526
+#: cp/parser.c:13550
#, gcc-internal-format
msgid "%<goto%> in %<constexpr%> function"
msgstr ""
#. Issue a warning about this use of a GNU extension.
-#: cp/parser.c:13534
+#: cp/parser.c:13558
#, gcc-internal-format
msgid "ISO C++ forbids computed gotos"
msgstr ""
-#: cp/parser.c:13547 cp/parser.c:31692
+#: cp/parser.c:13571 cp/parser.c:31746
#, gcc-internal-format
msgid "expected jump-statement"
msgstr ""
-#: cp/parser.c:13724
+#: cp/parser.c:13748
#, gcc-internal-format
msgid "expected module-name"
msgstr ""
-#: cp/parser.c:13759
+#: cp/parser.c:13783
#, gcc-internal-format
msgid "module-declaration not permitted in header-unit"
msgstr ""
-#: cp/parser.c:13784
+#: cp/parser.c:13808
#, gcc-internal-format
msgid ""
"private module fragment only permitted in purview of module interface or "
"partition"
msgstr ""
-#: cp/parser.c:13789
+#: cp/parser.c:13813
#, gcc-internal-format
msgid "private module fragment"
msgstr ""
#. Neither the first declaration, nor in a GMF.
-#: cp/parser.c:13795
+#: cp/parser.c:13819
#, gcc-internal-format
msgid ""
"module-declaration only permitted as first declaration, or ending a global "
"module fragment"
msgstr ""
-#: cp/parser.c:13832
+#: cp/parser.c:13856
#, gcc-internal-format
msgid "post-module-declaration imports must be contiguous"
msgstr ""
-#: cp/parser.c:13835
+#: cp/parser.c:13859
#, gcc-internal-format
msgid ""
"perhaps insert a line break, or other disambiguation, to prevent this being "
"considered a module control-line"
msgstr ""
-#: cp/parser.c:13843
+#: cp/parser.c:13867
#, gcc-internal-format
msgid "import-declaration must be at global scope"
msgstr ""
-#: cp/parser.c:13856
+#: cp/parser.c:13880
#, gcc-internal-format
msgid "import cannot appear directly in a linkage-specification"
msgstr ""
-#: cp/parser.c:13864
+#: cp/parser.c:13888
#, gcc-internal-format
msgid "post-module-declaration imports must not be include-translated"
msgstr ""
-#: cp/parser.c:13869
+#: cp/parser.c:13893
#, gcc-internal-format
msgid "post-module-declaration imports must not be from header inclusion"
msgstr ""
-#: cp/parser.c:13889
+#: cp/parser.c:13913
#, gcc-internal-format
msgid "%qE may only occur after a module interface declaration"
msgstr ""
-#: cp/parser.c:13897
+#: cp/parser.c:13921
#, gcc-internal-format
msgid "%qE may only occur once in an export declaration"
msgstr ""
-#: cp/parser.c:13918
+#: cp/parser.c:13942
#, gcc-internal-format
msgid "%<export%> not part of following module-directive"
msgstr ""
-#: cp/parser.c:14020
+#: cp/parser.c:14044
#, gcc-internal-format
msgid "attributes are not permitted in this position"
msgstr ""
-#: cp/parser.c:14024
+#: cp/parser.c:14048
#, gcc-internal-format
msgid "attributes may be inserted here"
msgstr ""
-#: cp/parser.c:14155 cp/parser.c:25964
+#: cp/parser.c:14179 cp/parser.c:25999
#, gcc-internal-format
msgid "extra %<;%>"
msgstr ""
-#: cp/parser.c:14248
+#: cp/parser.c:14272
#, gcc-internal-format
msgid "%<__label__%> not at the beginning of a block"
msgstr ""
-#: cp/parser.c:14463
+#: cp/parser.c:14487
#, gcc-internal-format
msgid ""
"non-variable %qD in declaration with more than one declarator with "
"placeholder type"
msgstr ""
-#: cp/parser.c:14483
+#: cp/parser.c:14507
#, gcc-internal-format
msgid "inconsistent deduction for %qT: %qT and then %qT"
msgstr ""
-#: cp/parser.c:14504
+#: cp/parser.c:14528
#, gcc-internal-format
msgid "mixing declarations and function-definitions is forbidden"
msgstr ""
-#: cp/parser.c:14528
+#: cp/parser.c:14552
#, gcc-internal-format
msgid "types may not be defined in a for-range-declaration"
msgstr ""
-#: cp/parser.c:14583
+#: cp/parser.c:14607
#, gcc-internal-format
msgid "initializer in range-based %<for%> loop"
msgstr ""
-#: cp/parser.c:14586
+#: cp/parser.c:14610
#, gcc-internal-format
msgid "multiple declarations in range-based %<for%> loop"
msgstr ""
-#: cp/parser.c:14637
+#: cp/parser.c:14661
#, gcc-internal-format
msgid ""
"structured bindings only available with %<-std=c++17%> or %<-std=gnu++17%>"
msgstr ""
-#: cp/parser.c:14689
+#: cp/parser.c:14713
#, gcc-internal-format
msgid "empty structured binding declaration"
msgstr ""
-#: cp/parser.c:14707
+#: cp/parser.c:14731
#, gcc-internal-format
msgid "invalid initializer for structured binding declaration"
msgstr ""
-#: cp/parser.c:14876
+#: cp/parser.c:14900
#, gcc-internal-format
msgid "%<friend%> used outside of class"
msgstr ""
-#: cp/parser.c:14915
+#: cp/parser.c:14939
#, gcc-internal-format
msgid "the %<bool%> keyword is not allowed in a C++20 concept definition"
msgstr ""
-#: cp/parser.c:14918
+#: cp/parser.c:14942
#, gcc-internal-format
msgid "C++20 concept definition syntax is %<concept <name> = <expr>%>"
msgstr ""
-#: cp/parser.c:14985
+#: cp/parser.c:15009
#, gcc-internal-format
msgid "%<auto%> changes meaning in C++11; please remove it"
msgstr ""
-#: cp/parser.c:15021
+#: cp/parser.c:15045
#, gcc-internal-format
msgid "%<decl-specifier%> invalid in condition"
msgstr ""
-#: cp/parser.c:15028
+#: cp/parser.c:15052
#, gcc-internal-format
msgid "%qD invalid in lambda"
msgstr ""
-#: cp/parser.c:15109
+#: cp/parser.c:15133
#, gcc-internal-format
msgid "type-specifier invalid in lambda"
msgstr ""
-#: cp/parser.c:15128
+#: cp/parser.c:15152
#, gcc-internal-format
msgid "class definition may not be declared a friend"
msgstr ""
-#: cp/parser.c:15201 cp/parser.c:26479
+#: cp/parser.c:15225 cp/parser.c:26514
#, gcc-internal-format
msgid "templates may not be %<virtual%>"
msgstr ""
-#: cp/parser.c:15220
+#: cp/parser.c:15244
#, gcc-internal-format
msgid "types may not be defined in explicit-specifier"
msgstr ""
-#: cp/parser.c:15224
+#: cp/parser.c:15248
#, gcc-internal-format
msgid ""
"%<explicit(bool)%> only available with %<-std=c++20%> or %<-std=gnu++20%>"
msgstr ""
-#: cp/parser.c:15288
+#: cp/parser.c:15312
#, gcc-internal-format
msgid "invalid linkage-specification"
msgstr ""
-#: cp/parser.c:15392
+#: cp/parser.c:15416
#, gcc-internal-format
msgid ""
"%<static_assert%> without a message only available with %<-std=c++17%> or %<-"
"std=gnu++17%>"
msgstr ""
-#: cp/parser.c:15594
+#: cp/parser.c:15618
#, gcc-internal-format
msgid ""
"%<decltype(auto)%> type specifier only available with %<-std=c++14%> or %<-"
"std=gnu++14%>"
msgstr ""
-#: cp/parser.c:15607
+#: cp/parser.c:15631
#, gcc-internal-format
msgid "types may not be defined in %<decltype%> expressions"
msgstr ""
-#: cp/parser.c:15770
+#: cp/parser.c:15794
#, gcc-internal-format
msgid "types may not be defined in a conversion-type-id"
msgstr ""
-#: cp/parser.c:15799
+#: cp/parser.c:15823
#, gcc-internal-format
msgid "invalid use of %<auto%> in conversion operator"
msgstr ""
-#: cp/parser.c:15803
+#: cp/parser.c:15827
#, gcc-internal-format
msgid ""
"use of %<auto%> in member template conversion operator can never be deduced"
msgstr ""
-#: cp/parser.c:15887
+#: cp/parser.c:15911
#, gcc-internal-format
msgid "only constructors take member initializers"
msgstr ""
-#: cp/parser.c:15914
+#: cp/parser.c:15938
#, gcc-internal-format
msgid "cannot expand initializer for member %qD"
msgstr ""
-#: cp/parser.c:15926 cp/pt.c:26408
+#: cp/parser.c:15950 cp/pt.c:26452
#, gcc-internal-format
msgid "mem-initializer for %qD follows constructor delegation"
msgstr ""
-#: cp/parser.c:15938 cp/pt.c:26420
+#: cp/parser.c:15962 cp/pt.c:26464
#, gcc-internal-format
msgid "constructor delegation follows mem-initializer for %qD"
msgstr ""
-#: cp/parser.c:15990
+#: cp/parser.c:16014
#, gcc-internal-format
msgid "anachronistic old-style base class initializer"
msgstr ""
-#: cp/parser.c:16075
+#: cp/parser.c:16099
#, gcc-internal-format
msgid ""
"keyword %<typename%> not allowed in this context (a qualified member "
"initializer is implicitly a type)"
msgstr ""
-#: cp/parser.c:16476
+#: cp/parser.c:16500
#, gcc-internal-format
msgid "unexpected keyword; remove space between quotes and suffix identifier"
msgstr ""
-#: cp/parser.c:16482
+#: cp/parser.c:16506
#, gcc-internal-format
msgid "expected suffix identifier"
msgstr ""
-#: cp/parser.c:16491
+#: cp/parser.c:16515
#, gcc-internal-format
msgid "expected empty string after %<operator%> keyword"
msgstr ""
-#: cp/parser.c:16497
+#: cp/parser.c:16521
#, gcc-internal-format
msgid "invalid encoding prefix in literal operator"
msgstr ""
-#: cp/parser.c:16531
+#: cp/parser.c:16555
#, gcc-internal-format
msgid "expected operator"
msgstr ""
-#: cp/parser.c:16578
+#: cp/parser.c:16602
#, gcc-internal-format
msgid "keyword %<export%> not implemented, and will be ignored"
msgstr ""
-#: cp/parser.c:16580
+#: cp/parser.c:16604
#, gcc-internal-format
msgid "keyword %<export%> is deprecated, and is ignored"
msgstr ""
-#: cp/parser.c:16582
+#: cp/parser.c:16606
#, gcc-internal-format
msgid "keyword %<export%> is enabled with %<-fmodules-ts%>"
msgstr ""
-#: cp/parser.c:16761
+#: cp/parser.c:16785
#, gcc-internal-format
msgid "invalid constrained type parameter"
msgstr ""
-#: cp/parser.c:16769
+#: cp/parser.c:16793
#, gcc-internal-format
msgid "cv-qualified type parameter"
msgstr ""
-#: cp/parser.c:16912
+#: cp/parser.c:16940
#, gcc-internal-format
msgid "invalid use of %<auto%> in default template argument"
msgstr ""
-#: cp/parser.c:17148 cp/parser.c:17234 cp/parser.c:23932
+#: cp/parser.c:17176 cp/parser.c:17262 cp/parser.c:23969
#, gcc-internal-format
msgid "template parameter pack %qD cannot have a default argument"
msgstr ""
-#: cp/parser.c:17152 cp/parser.c:17238
+#: cp/parser.c:17180 cp/parser.c:17266
#, gcc-internal-format
msgid "template parameter packs cannot have default arguments"
msgstr ""
-#: cp/parser.c:17305
+#: cp/parser.c:17333
#, gcc-internal-format
msgid "expected template-id"
msgstr ""
-#: cp/parser.c:17367
+#: cp/parser.c:17395
#, gcc-internal-format
msgid "%<<::%> cannot begin a template-argument list"
msgstr ""
-#: cp/parser.c:17371
+#: cp/parser.c:17399
#, gcc-internal-format
msgid ""
"%<<:%> is an alternate spelling for %<[%>. Insert whitespace between %<<%> "
"and %<::%>"
msgstr ""
-#: cp/parser.c:17375
+#: cp/parser.c:17403
#, gcc-internal-format
msgid ""
"(if you use %<-fpermissive%> or %<-std=c++11%>, or %<-std=gnu++11%> G++ will "
"accept your code)"
msgstr ""
-#: cp/parser.c:17405
+#: cp/parser.c:17433
#, gcc-internal-format
msgid "invalid template-argument-list"
msgstr ""
-#: cp/parser.c:17406
+#: cp/parser.c:17434
#, gcc-internal-format
msgid ""
"function name as the left hand operand of %<<%> is ill-formed in C++20; wrap "
"the function name in %<()%>"
msgstr ""
-#: cp/parser.c:17413
+#: cp/parser.c:17441
#, gcc-internal-format
msgid "expected %<(%> after template-argument-list"
msgstr ""
-#: cp/parser.c:17517
+#: cp/parser.c:17545
#, gcc-internal-format
msgid "parse error in template argument list"
msgstr ""
#. The name does not name a template.
-#: cp/parser.c:17602 cp/parser.c:17768 cp/parser.c:17973
+#: cp/parser.c:17630 cp/parser.c:17796 cp/parser.c:18001
#, gcc-internal-format
msgid "expected template-name"
msgstr ""
#. Explain what went wrong.
-#: cp/parser.c:17648
+#: cp/parser.c:17676
#, gcc-internal-format
msgid "non-template %qD used as template"
msgstr ""
-#: cp/parser.c:17650
+#: cp/parser.c:17678
#, gcc-internal-format
msgid "use %<%T::template %D%> to indicate that it is a template"
msgstr ""
-#: cp/parser.c:17829
+#: cp/parser.c:17857
#, gcc-internal-format
msgid "expected parameter pack before %<...%>"
msgstr ""
-#: cp/parser.c:17938 cp/parser.c:17956 cp/parser.c:18127
+#: cp/parser.c:17966 cp/parser.c:17984 cp/parser.c:18155
#, gcc-internal-format
msgid "expected template-argument"
msgstr ""
-#: cp/parser.c:18094
+#: cp/parser.c:18122
#, gcc-internal-format
msgid "invalid non-type template argument"
msgstr ""
-#: cp/parser.c:18229
+#: cp/parser.c:18257
#, gcc-internal-format
msgid "explicit instantiation shall not use %<inline%> specifier"
msgstr ""
-#: cp/parser.c:18233
+#: cp/parser.c:18261
#, gcc-internal-format
msgid "explicit instantiation shall not use %<constexpr%> specifier"
msgstr ""
-#: cp/parser.c:18237
+#: cp/parser.c:18265
#, gcc-internal-format
msgid "explicit instantiation shall not use %<consteval%> specifier"
msgstr ""
-#: cp/parser.c:18297
+#: cp/parser.c:18325
#, gcc-internal-format
msgid "template specialization with C linkage"
msgstr ""
-#: cp/parser.c:18517
+#: cp/parser.c:18554
#, gcc-internal-format
msgid "expected type specifier"
msgstr ""
-#: cp/parser.c:18710
+#: cp/parser.c:18747
#, gcc-internal-format
msgid ""
"use of %<auto%> in lambda parameter declaration only available with %<-std=c+"
"+14%> or %<-std=gnu++14%>"
msgstr ""
-#: cp/parser.c:18716
+#: cp/parser.c:18753
#, gcc-internal-format
msgid ""
"use of %<auto%> in parameter declaration only available with %<-std=c++14%> "
"or %<-std=gnu++14%>"
msgstr ""
-#: cp/parser.c:18721
+#: cp/parser.c:18758
#, gcc-internal-format
msgid ""
"use of %<auto%> in parameter declaration only available with %<-fconcepts-ts"
"%>"
msgstr ""
-#: cp/parser.c:18878
+#: cp/parser.c:18915
#, gcc-internal-format
msgid "expected template-id for type"
msgstr ""
-#: cp/parser.c:19008
+#: cp/parser.c:19045
#, gcc-internal-format
msgid "expected type-name"
msgstr ""
-#: cp/parser.c:19118
+#: cp/parser.c:19155
#, gcc-internal-format
msgid "%qE does not constrain a type"
msgstr ""
-#: cp/parser.c:19119
+#: cp/parser.c:19156
#, gcc-internal-format
msgid "concept defined here"
msgstr ""
-#: cp/parser.c:19141
+#: cp/parser.c:19178
#, gcc-internal-format
msgid "expected %<auto%> or %<decltype(auto)%> after %qE"
msgstr ""
-#: cp/parser.c:19148
+#: cp/parser.c:19185
#, gcc-internal-format
msgid "unexpected placeholder in constrained result type"
msgstr ""
-#: cp/parser.c:19391
+#: cp/parser.c:19428
#, gcc-internal-format
msgid ""
"elaborated-type-specifier for a scoped enum must not use the %qD keyword"
msgstr ""
-#: cp/parser.c:19467
+#: cp/parser.c:19504
#, gcc-internal-format
msgid "%<template%> must follow a nested-name-specifier"
msgstr ""
-#: cp/parser.c:19629
+#: cp/parser.c:19666
#, gcc-internal-format
msgid "declaration %qD does not declare anything"
msgstr ""
-#: cp/parser.c:19717
+#: cp/parser.c:19754
#, gcc-internal-format
msgid "attributes ignored on uninstantiated type"
msgstr ""
-#: cp/parser.c:19723
+#: cp/parser.c:19760
#, gcc-internal-format
msgid "attributes ignored on template instantiation"
msgstr ""
-#: cp/parser.c:19728
+#: cp/parser.c:19765
#, gcc-internal-format
msgid ""
"attributes ignored on elaborated-type-specifier that is not a forward "
"declaration"
msgstr ""
-#: cp/parser.c:19868
+#: cp/parser.c:19905
#, gcc-internal-format
msgid "%qD is an enumeration template"
msgstr ""
-#: cp/parser.c:19879
+#: cp/parser.c:19916
#, gcc-internal-format
msgid "%qD does not name an enumeration in %qT"
msgstr ""
-#: cp/parser.c:19894
+#: cp/parser.c:19931
#, gcc-internal-format
msgid "unnamed scoped enum is not allowed"
msgstr ""
-#: cp/parser.c:19951
+#: cp/parser.c:19988
#, gcc-internal-format
msgid "expected %<;%> or %<{%>"
msgstr ""
-#: cp/parser.c:19995
+#: cp/parser.c:20032
#, gcc-internal-format
msgid "cannot add an enumerator list to a template instantiation"
msgstr ""
-#: cp/parser.c:20009
+#: cp/parser.c:20046
#, gcc-internal-format
msgid ""
"nested name specifier %qT for enum declaration does not name a class or "
"namespace"
msgstr ""
-#: cp/parser.c:20021 cp/parser.c:25439
+#: cp/parser.c:20058 cp/parser.c:25474
#, gcc-internal-format
msgid "declaration of %qD in namespace %qD which does not enclose %qD"
msgstr ""
-#: cp/parser.c:20026 cp/parser.c:25444
+#: cp/parser.c:20063 cp/parser.c:25479
#, gcc-internal-format
msgid "declaration of %qD in %qD which does not enclose %qD"
msgstr ""
-#: cp/parser.c:20038 cp/parser.c:25457
+#: cp/parser.c:20075 cp/parser.c:25492
#, gcc-internal-format
msgid "extra qualification not allowed"
msgstr ""
-#: cp/parser.c:20075
+#: cp/parser.c:20112
#, gcc-internal-format
msgid "ISO C++ forbids empty unnamed enum"
msgstr ""
-#: cp/parser.c:20100
+#: cp/parser.c:20137
#, gcc-internal-format
msgid "opaque-enum-specifier without name"
msgstr ""
-#: cp/parser.c:20103
+#: cp/parser.c:20140
#, gcc-internal-format
msgid "opaque-enum-specifier must use a simple identifier"
msgstr ""
-#: cp/parser.c:20290
+#: cp/parser.c:20327
#, gcc-internal-format
msgid "%qD is not a namespace-name; did you mean %qs?"
msgstr ""
-#: cp/parser.c:20294
+#: cp/parser.c:20331
#, gcc-internal-format
msgid "%qD is not a namespace-name"
msgstr ""
-#: cp/parser.c:20298
+#: cp/parser.c:20335
#, gcc-internal-format
msgid "expected namespace-name"
msgstr ""
-#: cp/parser.c:20359
+#: cp/parser.c:20396
#, gcc-internal-format
msgid ""
"nested inline namespace definitions only available with %<-std=c++20%> or %<-"
"std=gnu++20%>"
msgstr ""
-#: cp/parser.c:20370
+#: cp/parser.c:20407
#, gcc-internal-format
msgid "standard attributes on namespaces must precede the namespace name"
msgstr ""
-#: cp/parser.c:20389
+#: cp/parser.c:20426
#, gcc-internal-format
msgid ""
"nested namespace definitions only available with %<-std=c++17%> or %<-std=gnu"
"++17%>"
msgstr ""
-#: cp/parser.c:20399
+#: cp/parser.c:20436
#, gcc-internal-format
msgid "nested namespace name required"
msgstr ""
-#: cp/parser.c:20404
+#: cp/parser.c:20441
#, gcc-internal-format
msgid "namespace name required"
msgstr ""
-#: cp/parser.c:20408
+#: cp/parser.c:20445
#, gcc-internal-format
msgid "a nested namespace definition cannot have attributes"
msgstr ""
-#: cp/parser.c:20411
+#: cp/parser.c:20448
#, gcc-internal-format
msgid "a nested namespace definition cannot be inline"
msgstr ""
-#: cp/parser.c:20418
+#: cp/parser.c:20455
#, gcc-internal-format
msgid "namespace %qD entered"
msgstr ""
-#: cp/parser.c:20473
+#: cp/parser.c:20510
#, gcc-internal-format
msgid "%<namespace%> definition is not allowed here"
msgstr ""
-#: cp/parser.c:20648
+#: cp/parser.c:20685
#, gcc-internal-format
msgid ""
"pack expansion in using-declaration only available with %<-std=c++17%> or %<-"
"std=gnu++17%>"
msgstr ""
-#: cp/parser.c:20663
+#: cp/parser.c:20700
#, gcc-internal-format
msgid "a template-id may not appear in a using-declaration"
msgstr ""
-#: cp/parser.c:20681
+#: cp/parser.c:20718
#, gcc-internal-format
msgid ""
"comma-separated list in using-declaration only available with %<-std=c++17%> "
"or %<-std=gnu++17%>"
msgstr ""
-#: cp/parser.c:20691
+#: cp/parser.c:20728
#, gcc-internal-format
msgid ""
"access declarations are deprecated in favour of using-declarations; "
"suggestion: add the %<using%> keyword"
msgstr ""
-#: cp/parser.c:20756
+#: cp/parser.c:20793
#, gcc-internal-format
msgid "opaque-enum-declaration here"
msgstr ""
-#: cp/parser.c:20826
+#: cp/parser.c:20863
#, gcc-internal-format
msgid "types may not be defined in alias template declarations"
msgstr ""
-#: cp/parser.c:20997
+#: cp/parser.c:21034
#, gcc-internal-format
msgid ""
"%<asm%> in %<constexpr%> function only available with %<-std=c++20%> or %<-"
"std=gnu++20%>"
msgstr ""
-#: cp/parser.c:21016 cp/parser.c:21033 cp/parser.c:21047
+#: cp/parser.c:21053 cp/parser.c:21070 cp/parser.c:21084
#, gcc-internal-format
msgid "duplicate %<asm%> qualifier %qT"
msgstr ""
-#: cp/parser.c:21023
+#: cp/parser.c:21060
#, gcc-internal-format
msgid "%<asm%> qualifier %qT ignored outside of function body"
msgstr ""
-#: cp/parser.c:21060
+#: cp/parser.c:21097
#, gcc-internal-format
msgid "%qT is not an %<asm%> qualifier"
msgstr ""
-#: cp/parser.c:21076
+#: cp/parser.c:21113
#, gcc-internal-format
msgid "%<asm%> qualifier outside of function body"
msgstr ""
-#: cp/parser.c:21304
+#: cp/parser.c:21341
#, gcc-internal-format
msgid "empty parentheses were disambiguated as a function declaration"
msgstr ""
-#: cp/parser.c:21315
+#: cp/parser.c:21352
#, gcc-internal-format
msgid "remove parentheses to default-initialize a variable"
msgstr ""
-#: cp/parser.c:21320
+#: cp/parser.c:21357
#, gcc-internal-format
msgid "or replace parentheses with braces to aggregate-initialize a variable"
msgstr ""
-#: cp/parser.c:21323
+#: cp/parser.c:21360
#, gcc-internal-format
msgid "or replace parentheses with braces to value-initialize a variable"
msgstr ""
-#: cp/parser.c:21340 cp/parser.c:21365
+#: cp/parser.c:21377 cp/parser.c:21402
#, gcc-internal-format
msgid "parentheses were disambiguated as a function declaration"
msgstr ""
-#: cp/parser.c:21352 cp/parser.c:21373
+#: cp/parser.c:21389 cp/parser.c:21410
#, gcc-internal-format
msgid "replace parentheses with braces to declare a variable"
msgstr ""
-#: cp/parser.c:21359
+#: cp/parser.c:21396
#, gcc-internal-format
msgid "add parentheses to declare a variable"
msgstr ""
-#: cp/parser.c:21587
+#: cp/parser.c:21624
#, gcc-internal-format
msgid "a function-definition is not allowed here"
msgstr ""
-#: cp/parser.c:21598
+#: cp/parser.c:21635
#, gcc-internal-format
msgid "an %<asm%> specification is not allowed on a function-definition"
msgstr ""
-#: cp/parser.c:21602
+#: cp/parser.c:21639
#, gcc-internal-format
msgid "attributes are not allowed on a function-definition"
msgstr ""
-#: cp/parser.c:21653
+#: cp/parser.c:21690
#, gcc-internal-format
msgid "expected constructor, destructor, or type conversion"
msgstr ""
-#: cp/parser.c:21773
+#: cp/parser.c:21810
#, gcc-internal-format
msgid "initializer provided for function"
msgstr ""
-#: cp/parser.c:21815
+#: cp/parser.c:21852
#, gcc-internal-format
msgid "attributes after parenthesized initializer ignored"
msgstr ""
-#: cp/parser.c:21829
+#: cp/parser.c:21866
#, gcc-internal-format
msgid "non-function %qD declared as implicit template"
msgstr ""
-#: cp/parser.c:22320
+#: cp/parser.c:22357
#, gcc-internal-format
msgid "array bound is not an integer constant"
msgstr ""
-#: cp/parser.c:22446
+#: cp/parser.c:22483
#, gcc-internal-format
msgid "cannot define member of dependent typedef %qT"
msgstr ""
-#: cp/parser.c:22450
+#: cp/parser.c:22487
#, gcc-internal-format
msgid "%<%T::%E%> is not a type"
msgstr ""
@@ -56814,17 +56866,17 @@ msgstr ""
#. here because we do not have enough
#. information about its original syntactic
#. form.
-#: cp/parser.c:22479
+#: cp/parser.c:22516
#, gcc-internal-format
msgid "invalid declarator"
msgstr ""
-#: cp/parser.c:22487
+#: cp/parser.c:22524
#, gcc-internal-format
msgid "invalid use of constructor as a template"
msgstr ""
-#: cp/parser.c:22489
+#: cp/parser.c:22526
#, gcc-internal-format
msgid ""
"use %<%T::%D%> instead of %<%T::%D%> to name the constructor in a qualified "
@@ -56833,429 +56885,429 @@ msgstr ""
#. But declarations with qualified-ids can't appear in a
#. function.
-#: cp/parser.c:22604
+#: cp/parser.c:22641
#, gcc-internal-format
msgid "qualified-id in declaration"
msgstr ""
-#: cp/parser.c:22629
+#: cp/parser.c:22666
#, gcc-internal-format
msgid "expected declarator"
msgstr ""
-#: cp/parser.c:22750
+#: cp/parser.c:22787
#, gcc-internal-format
msgid "%qD is a namespace"
msgstr ""
-#: cp/parser.c:22752
+#: cp/parser.c:22789
#, gcc-internal-format
msgid "cannot form pointer to member of non-class %q#T"
msgstr ""
-#: cp/parser.c:22773
+#: cp/parser.c:22810
#, gcc-internal-format
msgid "expected ptr-operator"
msgstr ""
-#: cp/parser.c:22834
+#: cp/parser.c:22871
#, gcc-internal-format
msgid "duplicate cv-qualifier"
msgstr ""
-#: cp/parser.c:22888
+#: cp/parser.c:22925
#, gcc-internal-format
msgid "multiple ref-qualifiers"
msgstr ""
-#: cp/parser.c:22925
+#: cp/parser.c:22962
#, gcc-internal-format
msgid "%qE requires %<-fgnu-tm%>"
msgstr ""
-#: cp/parser.c:22983
+#: cp/parser.c:23020
#, gcc-internal-format
msgid "duplicate virt-specifier"
msgstr ""
-#: cp/parser.c:23232
+#: cp/parser.c:23269
#, gcc-internal-format
msgid "missing template arguments after %qT"
msgstr ""
-#: cp/parser.c:23238
+#: cp/parser.c:23275
#, gcc-internal-format
msgid "%qT not permitted in template argument"
msgstr ""
-#: cp/parser.c:23241 cp/typeck2.c:353 cp/typeck2.c:400 cp/typeck2.c:2200
+#: cp/parser.c:23278 cp/typeck2.c:353 cp/typeck2.c:400 cp/typeck2.c:2197
#, gcc-internal-format
msgid "invalid use of %qT"
msgstr ""
-#: cp/parser.c:23267
+#: cp/parser.c:23304
#, gcc-internal-format
msgid "types may not be defined in template arguments"
msgstr ""
-#: cp/parser.c:23272
+#: cp/parser.c:23309
#, gcc-internal-format
msgid "invalid use of %<auto%> in template argument"
msgstr ""
-#: cp/parser.c:23378
+#: cp/parser.c:23415
#, gcc-internal-format
msgid "expected type-specifier"
msgstr ""
-#: cp/parser.c:23659
+#: cp/parser.c:23696
#, gcc-internal-format
msgid "expected %<,%> or %<...%>"
msgstr ""
-#: cp/parser.c:23737
+#: cp/parser.c:23774
#, gcc-internal-format
msgid "types may not be defined in parameter types"
msgstr ""
-#: cp/parser.c:23916
+#: cp/parser.c:23953
#, gcc-internal-format
msgid "default arguments are only permitted for function parameters"
msgstr ""
-#: cp/parser.c:23934
+#: cp/parser.c:23971
#, gcc-internal-format
msgid "parameter pack %qD cannot have a default argument"
msgstr ""
-#: cp/parser.c:23940
+#: cp/parser.c:23977
#, gcc-internal-format
msgid "template parameter pack cannot have a default argument"
msgstr ""
-#: cp/parser.c:23942
+#: cp/parser.c:23979
#, gcc-internal-format
msgid "parameter pack cannot have a default argument"
msgstr ""
-#: cp/parser.c:24068
+#: cp/parser.c:24105
#, gcc-internal-format
msgid ""
"function-try-block body of %<constexpr%> constructor only available with %<-"
"std=c++20%> or %<-std=gnu++20%>"
msgstr ""
-#: cp/parser.c:24072
+#: cp/parser.c:24109
#, gcc-internal-format
msgid ""
"function-try-block body of %<constexpr%> function only available with %<-"
"std=c++20%> or %<-std=gnu++20%>"
msgstr ""
-#: cp/parser.c:24396
+#: cp/parser.c:24433
#, gcc-internal-format
msgid ""
"C++ designated initializers only available with %<-std=c++20%> or %<-std=gnu+"
"+20%>"
msgstr ""
-#: cp/parser.c:24416
+#: cp/parser.c:24453
#, gcc-internal-format
msgid "ISO C++ does not allow GNU designated initializers"
msgstr ""
-#: cp/parser.c:24454
+#: cp/parser.c:24491
#, gcc-internal-format
msgid "ISO C++ does not allow C99 designated initializers"
msgstr ""
-#: cp/parser.c:24468
+#: cp/parser.c:24505
#, gcc-internal-format
msgid ""
"either all initializer clauses should be designated or none of them should be"
msgstr ""
-#: cp/parser.c:24493
+#: cp/parser.c:24530
#, gcc-internal-format
msgid "%<...%> not allowed in designated initializer list"
msgstr ""
-#: cp/parser.c:24544
+#: cp/parser.c:24581
#, gcc-internal-format
msgid "%<.%s%> designator used multiple times in the same initializer list"
msgstr ""
-#: cp/parser.c:24600 cp/parser.c:24739
+#: cp/parser.c:24637 cp/parser.c:24774
#, gcc-internal-format
msgid "expected class-name"
msgstr ""
-#: cp/parser.c:24978
+#: cp/parser.c:25013
#, gcc-internal-format
msgid "expected %<;%> after class definition"
msgstr ""
-#: cp/parser.c:24981
+#: cp/parser.c:25016
#, gcc-internal-format
msgid "expected %<;%> after struct definition"
msgstr ""
-#: cp/parser.c:24984
+#: cp/parser.c:25019
#, gcc-internal-format
msgid "expected %<;%> after union definition"
msgstr ""
-#: cp/parser.c:25381
+#: cp/parser.c:25416
#, gcc-internal-format
msgid "expected %<{%> or %<:%>"
msgstr ""
-#: cp/parser.c:25392
+#: cp/parser.c:25427
#, gcc-internal-format
msgid "cannot specify %<override%> for a class"
msgstr ""
-#: cp/parser.c:25400
+#: cp/parser.c:25435
#, gcc-internal-format
msgid "global qualification of class name is invalid"
msgstr ""
-#: cp/parser.c:25407
+#: cp/parser.c:25442
#, gcc-internal-format
msgid "qualified name does not name a class"
msgstr ""
-#: cp/parser.c:25419
+#: cp/parser.c:25454
#, gcc-internal-format
msgid "keyword %<template%> not allowed in class-head-name"
msgstr ""
-#: cp/parser.c:25425
+#: cp/parser.c:25460
#, gcc-internal-format
msgid "invalid class name in declaration of %qD"
msgstr ""
-#: cp/parser.c:25479
+#: cp/parser.c:25514
#, gcc-internal-format
msgid "an explicit specialization must be preceded by %<template <>%>"
msgstr ""
-#: cp/parser.c:25511
+#: cp/parser.c:25546
#, gcc-internal-format
msgid "function template %qD redeclared as a class template"
msgstr ""
-#: cp/parser.c:25547
+#: cp/parser.c:25582
#, gcc-internal-format
msgid "could not resolve typename type"
msgstr ""
-#: cp/parser.c:25612
+#: cp/parser.c:25647
#, gcc-internal-format
msgid "previous definition of %q#T"
msgstr ""
-#: cp/parser.c:25712 cp/parser.c:31695
+#: cp/parser.c:25747 cp/parser.c:31749
#, gcc-internal-format
msgid "expected class-key"
msgstr ""
-#: cp/parser.c:25736
+#: cp/parser.c:25771
#, gcc-internal-format
msgid ""
"ISO C++ forbids typename key in template template parameter; use %<-std=c+"
"+17%> or %<-std=gnu++17%>"
msgstr ""
-#: cp/parser.c:25740
+#: cp/parser.c:25775
#, gcc-internal-format
msgid "expected %<class%> or %<typename%>"
msgstr ""
-#: cp/parser.c:25983
+#: cp/parser.c:26018
#, gcc-internal-format
msgid "in C++03 a class-key must be used when declaring a friend"
msgstr ""
-#: cp/parser.c:26001
+#: cp/parser.c:26036
#, gcc-internal-format
msgid "friend declaration does not name a class or function"
msgstr ""
-#: cp/parser.c:26019
+#: cp/parser.c:26054
#, gcc-internal-format
msgid "a storage class on an anonymous aggregate in class scope is not allowed"
msgstr ""
-#: cp/parser.c:26117
+#: cp/parser.c:26152
#, gcc-internal-format
msgid ""
"default member initializers for bit-fields only available with %<-std=c+"
"+20%> or %<-std=gnu++20%>"
msgstr ""
-#: cp/parser.c:26124
+#: cp/parser.c:26159
#, gcc-internal-format
msgid "default member initializer for unnamed bit-field"
msgstr ""
-#: cp/parser.c:26137
+#: cp/parser.c:26172
#, gcc-internal-format
msgid "ISO C++ allows bit-field attributes only before the %<:%> token"
msgstr ""
-#: cp/parser.c:26290
+#: cp/parser.c:26325
#, gcc-internal-format
msgid "bit-field %qD has non-integral type %qT"
msgstr ""
-#: cp/parser.c:26318
+#: cp/parser.c:26353
#, gcc-internal-format
msgid "pure-specifier on function-definition"
msgstr ""
-#: cp/parser.c:26338
+#: cp/parser.c:26373
#, gcc-internal-format
msgid "extra %<;%> after in-class function definition"
msgstr ""
-#: cp/parser.c:26385
+#: cp/parser.c:26420
#, gcc-internal-format
msgid "stray %<,%> at end of member declaration"
msgstr ""
-#: cp/parser.c:26399
+#: cp/parser.c:26434
#, gcc-internal-format
msgid "expected %<;%> at end of member declaration"
msgstr ""
-#: cp/parser.c:26473
+#: cp/parser.c:26508
#, gcc-internal-format
msgid "invalid pure specifier (only %<= 0%> is allowed)"
msgstr ""
-#: cp/parser.c:26508
+#: cp/parser.c:26543
#, gcc-internal-format
msgid "a brace-enclosed initializer is not allowed here"
msgstr ""
-#: cp/parser.c:26638
+#: cp/parser.c:26673
#, gcc-internal-format
msgid "%<virtual%> specified more than once in base-specifier"
msgstr ""
-#: cp/parser.c:26658
+#: cp/parser.c:26693
#, gcc-internal-format
msgid "more than one access specifier in base-specifier"
msgstr ""
-#: cp/parser.c:26682
+#: cp/parser.c:26717
#, gcc-internal-format
msgid "keyword %<typename%> not allowed outside of templates"
msgstr ""
-#: cp/parser.c:26685
+#: cp/parser.c:26720
#, gcc-internal-format
msgid ""
"keyword %<typename%> not allowed in this context (the base class is "
"implicitly a type)"
msgstr ""
-#: cp/parser.c:26885 cp/parser.c:26979
+#: cp/parser.c:26920 cp/parser.c:27014
#, gcc-internal-format
msgid "types may not be defined in an exception-specification"
msgstr ""
-#: cp/parser.c:26987
+#: cp/parser.c:27022
#, gcc-internal-format
msgid "ISO C++17 does not allow dynamic exception specifications"
msgstr ""
-#: cp/parser.c:26993
+#: cp/parser.c:27028
#, gcc-internal-format
msgid "dynamic exception specifications are deprecated in C++11"
msgstr ""
-#: cp/parser.c:27037
+#: cp/parser.c:27072
#, gcc-internal-format
msgid "invalid use of %<auto%> in exception-specification"
msgstr ""
-#: cp/parser.c:27078
+#: cp/parser.c:27113
#, gcc-internal-format
msgid ""
"%<try%> in %<constexpr%> function only available with %<-std=c++20%> or %<-"
"std=gnu++20%>"
msgstr ""
-#: cp/parser.c:27190
+#: cp/parser.c:27225
#, gcc-internal-format
msgid "types may not be defined in exception-declarations"
msgstr ""
-#: cp/parser.c:27797
+#: cp/parser.c:27832
#, gcc-internal-format
msgid "attribute using prefix used together with scoped attribute token"
msgstr ""
-#: cp/parser.c:27811
+#: cp/parser.c:27846
#, gcc-internal-format
msgid "expected an identifier for the attribute name"
msgstr ""
#. e.g. [[attr()]].
-#: cp/parser.c:27900
+#: cp/parser.c:27935
#, gcc-internal-format
msgid "parentheses must be omitted if %qE attribute argument list is empty"
msgstr ""
-#: cp/parser.c:27935
+#: cp/parser.c:27970
#, gcc-internal-format
msgid "attribute %qs specified multiple times"
msgstr ""
-#: cp/parser.c:27977
+#: cp/parser.c:28012
#, gcc-internal-format
msgid "expected attribute before %<...%>"
msgstr ""
-#: cp/parser.c:28037
+#: cp/parser.c:28072
#, gcc-internal-format
msgid ""
"attribute using prefix only available with %<-std=c++17%> or %<-std=gnu++17%>"
msgstr ""
-#: cp/parser.c:28377 cp/parser.c:28386
+#: cp/parser.c:28415 cp/parser.c:28424
#, gcc-internal-format
msgid "expression must be enclosed in parentheses"
msgstr ""
-#: cp/parser.c:28723
+#: cp/parser.c:28777
#, gcc-internal-format
msgid "missing additional %<requires%> to start a requires-expression"
msgstr ""
-#: cp/parser.c:29073
+#: cp/parser.c:29127
#, gcc-internal-format
msgid "result type is not a plain type-constraint"
msgstr ""
-#: cp/parser.c:29081
+#: cp/parser.c:29135
#, gcc-internal-format
msgid "return-type-requirement is not a type-constraint"
msgstr ""
-#: cp/parser.c:29563
+#: cp/parser.c:29617
#, gcc-internal-format
msgid "specializing member %<%T::%E%> requires %<template<>%> syntax"
msgstr ""
-#: cp/parser.c:29568
+#: cp/parser.c:29622
#, gcc-internal-format
msgid "invalid declaration of %<%T::%E%>"
msgstr ""
-#: cp/parser.c:29572
+#: cp/parser.c:29626
#, gcc-internal-format
msgid "too few template-parameter-lists"
msgstr ""
@@ -57264,24 +57316,24 @@ msgstr ""
#. something like:
#.
#. template <class T> template <class U> void S::f();
-#: cp/parser.c:29579
+#: cp/parser.c:29633
#, gcc-internal-format
msgid "too many template-parameter-lists"
msgstr ""
-#: cp/parser.c:29978
+#: cp/parser.c:30032
#, gcc-internal-format
msgid "named return values are no longer supported"
msgstr ""
-#: cp/parser.c:30149
+#: cp/parser.c:30203
#, gcc-internal-format
msgid ""
"ISO C++ did not adopt string literal operator templates taking an argument "
"pack of characters"
msgstr ""
-#: cp/parser.c:30158
+#: cp/parser.c:30212
#, gcc-internal-format
msgid ""
"literal operator template %qD has invalid parameter list; expected non-type "
@@ -57289,675 +57341,675 @@ msgid ""
"type"
msgstr ""
-#: cp/parser.c:30164
+#: cp/parser.c:30218
#, gcc-internal-format
msgid ""
"literal operator template %qD has invalid parameter list; expected non-type "
"template parameter pack %<<char...>%>"
msgstr ""
-#: cp/parser.c:30264
+#: cp/parser.c:30318
#, gcc-internal-format
msgid ""
"template-introductions are not part of C++20 concepts; use %qs to enable"
msgstr ""
-#: cp/parser.c:30274
+#: cp/parser.c:30328
#, gcc-internal-format
msgid "no matching concept for template-introduction"
msgstr ""
-#: cp/parser.c:30297
+#: cp/parser.c:30351
#, gcc-internal-format
msgid "invalid declaration of member template in local class"
msgstr ""
-#: cp/parser.c:30306
+#: cp/parser.c:30360
#, gcc-internal-format
msgid "template with C linkage"
msgstr ""
-#: cp/parser.c:30326
+#: cp/parser.c:30380
#, gcc-internal-format
msgid "invalid explicit specialization"
msgstr ""
-#: cp/parser.c:30431
+#: cp/parser.c:30485
#, gcc-internal-format
msgid "template declaration of %<typedef%>"
msgstr ""
-#: cp/parser.c:30482
+#: cp/parser.c:30536
#, gcc-internal-format
msgid "a class template declaration must not declare anything else"
msgstr ""
-#: cp/parser.c:30529
+#: cp/parser.c:30583
#, gcc-internal-format
msgid "explicit template specialization cannot have a storage class"
msgstr ""
-#: cp/parser.c:30829
+#: cp/parser.c:30883
#, gcc-internal-format
msgid "%<>>%> should be %<> >%> within a nested template argument list"
msgstr ""
-#: cp/parser.c:30842
+#: cp/parser.c:30896
#, gcc-internal-format
msgid "spurious %<>>%>, use %<>%> to terminate a template argument list"
msgstr ""
-#: cp/parser.c:31150
+#: cp/parser.c:31204
#, gcc-internal-format
msgid "%<sizeof...%> argument must be surrounded by parentheses"
msgstr ""
-#: cp/parser.c:31302
+#: cp/parser.c:31356
#, gcc-internal-format
msgid "invalid use of %qD in linkage specification"
msgstr ""
-#: cp/parser.c:31317
+#: cp/parser.c:31371
#, gcc-internal-format
msgid "%<__thread%> before %qD"
msgstr ""
-#: cp/parser.c:31452
+#: cp/parser.c:31506
#, gcc-internal-format
msgid "ISO C++ 1998 does not support %<long long%>"
msgstr ""
-#: cp/parser.c:31463
+#: cp/parser.c:31517
#, gcc-internal-format
msgid "both %<__thread%> and %<thread_local%> specified"
msgstr ""
-#: cp/parser.c:31468
+#: cp/parser.c:31522
#, gcc-internal-format
msgid "duplicate %qD"
msgstr ""
-#: cp/parser.c:31494
+#: cp/parser.c:31548
#, gcc-internal-format
msgid "duplicate %qs"
msgstr ""
-#: cp/parser.c:31546
+#: cp/parser.c:31600
#, gcc-internal-format
msgid "expected %<new%>"
msgstr ""
-#: cp/parser.c:31549
+#: cp/parser.c:31603
#, gcc-internal-format
msgid "expected %<delete%>"
msgstr ""
-#: cp/parser.c:31552
+#: cp/parser.c:31606
#, gcc-internal-format
msgid "expected %<return%>"
msgstr ""
-#: cp/parser.c:31558
+#: cp/parser.c:31612
#, gcc-internal-format
msgid "expected %<extern%>"
msgstr ""
-#: cp/parser.c:31561
+#: cp/parser.c:31615
#, gcc-internal-format
msgid "expected %<static_assert%>"
msgstr ""
-#: cp/parser.c:31564
+#: cp/parser.c:31618
#, gcc-internal-format
msgid "expected %<decltype%>"
msgstr ""
-#: cp/parser.c:31567
+#: cp/parser.c:31621
#, gcc-internal-format
msgid "expected %<operator%>"
msgstr ""
-#: cp/parser.c:31570
+#: cp/parser.c:31624
#, gcc-internal-format
msgid "expected %<class%>"
msgstr ""
-#: cp/parser.c:31573
+#: cp/parser.c:31627
#, gcc-internal-format
msgid "expected %<template%>"
msgstr ""
-#: cp/parser.c:31576
+#: cp/parser.c:31630
#, gcc-internal-format
msgid "expected %<namespace%>"
msgstr ""
-#: cp/parser.c:31579
+#: cp/parser.c:31633
#, gcc-internal-format
msgid "expected %<using%>"
msgstr ""
-#: cp/parser.c:31582
+#: cp/parser.c:31636
#, gcc-internal-format
msgid "expected %<asm%>"
msgstr ""
-#: cp/parser.c:31585
+#: cp/parser.c:31639
#, gcc-internal-format
msgid "expected %<try%>"
msgstr ""
-#: cp/parser.c:31588
+#: cp/parser.c:31642
#, gcc-internal-format
msgid "expected %<catch%>"
msgstr ""
-#: cp/parser.c:31591
+#: cp/parser.c:31645
#, gcc-internal-format
msgid "expected %<throw%>"
msgstr ""
-#: cp/parser.c:31594
+#: cp/parser.c:31648
#, gcc-internal-format
msgid "expected %<auto%>"
msgstr ""
-#: cp/parser.c:31597
+#: cp/parser.c:31651
#, gcc-internal-format
msgid "expected %<__label__%>"
msgstr ""
-#: cp/parser.c:31600
+#: cp/parser.c:31654
#, gcc-internal-format
msgid "expected %<@try%>"
msgstr ""
-#: cp/parser.c:31603
+#: cp/parser.c:31657
#, gcc-internal-format
msgid "expected %<@synchronized%>"
msgstr ""
-#: cp/parser.c:31606
+#: cp/parser.c:31660
#, gcc-internal-format
msgid "expected %<@throw%>"
msgstr ""
-#: cp/parser.c:31609
+#: cp/parser.c:31663
#, gcc-internal-format
msgid "expected %<__transaction_atomic%>"
msgstr ""
-#: cp/parser.c:31612
+#: cp/parser.c:31666
#, gcc-internal-format
msgid "expected %<__transaction_relaxed%>"
msgstr ""
-#: cp/parser.c:31615
+#: cp/parser.c:31669
#, gcc-internal-format
msgid "expected %<co_yield%>"
msgstr ""
-#: cp/parser.c:31647
+#: cp/parser.c:31701
#, gcc-internal-format
msgid "expected %<::%>"
msgstr ""
-#: cp/parser.c:31659
+#: cp/parser.c:31713
#, gcc-internal-format
msgid "expected %<...%>"
msgstr ""
-#: cp/parser.c:31662
+#: cp/parser.c:31716
#, gcc-internal-format
msgid "expected %<*%>"
msgstr ""
-#: cp/parser.c:31665
+#: cp/parser.c:31719
#, gcc-internal-format
msgid "expected %<~%>"
msgstr ""
-#: cp/parser.c:31671
+#: cp/parser.c:31725
#, gcc-internal-format
msgid "expected %<:%> or %<::%>"
msgstr ""
-#: cp/parser.c:31698
+#: cp/parser.c:31752
#, gcc-internal-format
msgid "expected %<class%>, %<typename%>, or %<template%>"
msgstr ""
-#: cp/parser.c:32000
+#: cp/parser.c:32054
#, gcc-internal-format
msgid "redundant enum-key %<enum%s%> in reference to %q#T"
msgstr ""
-#: cp/parser.c:32151
+#: cp/parser.c:32205
#, gcc-internal-format
msgid "%qs tag used in naming %q#T"
msgstr ""
-#: cp/parser.c:32156
+#: cp/parser.c:32210
#, gcc-internal-format
msgid "%q#T was previously declared here"
msgstr ""
-#: cp/parser.c:32276
+#: cp/parser.c:32330
#, gcc-internal-format
msgid "redundant class-key %qs in reference to %q#T"
msgstr ""
-#: cp/parser.c:32416 cp/parser.c:32450
+#: cp/parser.c:32470 cp/parser.c:32504
#, gcc-internal-format
msgid "%qT declared with a mismatched class-key %qs"
msgstr ""
-#: cp/parser.c:32423 cp/parser.c:32456
+#: cp/parser.c:32477 cp/parser.c:32510
#, gcc-internal-format
msgid "remove the class-key or replace it with %qs"
msgstr ""
-#: cp/parser.c:32424 cp/parser.c:32457
+#: cp/parser.c:32478 cp/parser.c:32511
#, gcc-internal-format
msgid "replace the class-key with %qs"
msgstr ""
-#: cp/parser.c:32431
+#: cp/parser.c:32485
#, gcc-internal-format
msgid "%qT defined as %qs here"
msgstr ""
-#: cp/parser.c:32432
+#: cp/parser.c:32486
#, gcc-internal-format
msgid "%qT first declared as %qs here"
msgstr ""
-#: cp/parser.c:32514
+#: cp/parser.c:32568
#, gcc-internal-format
msgid "%qD redeclared with different access"
msgstr ""
-#: cp/parser.c:32535
+#: cp/parser.c:32589
#, gcc-internal-format
msgid ""
"in C++98 %<template%> (as a disambiguator) is only allowed within templates"
msgstr ""
-#: cp/parser.c:32783
+#: cp/parser.c:32837
#, gcc-internal-format
msgid "file ends in default argument"
msgstr ""
-#: cp/parser.c:33024 cp/parser.c:34332 cp/parser.c:34521
+#: cp/parser.c:33078 cp/parser.c:34386 cp/parser.c:34575
#, gcc-internal-format
msgid "misplaced %<@%D%> Objective-C++ construct"
msgstr ""
-#: cp/parser.c:33095
+#: cp/parser.c:33149
#, gcc-internal-format
msgid "objective-c++ message receiver expected"
msgstr ""
-#: cp/parser.c:33165
+#: cp/parser.c:33219
#, gcc-internal-format
msgid "objective-c++ message argument(s) are expected"
msgstr ""
-#: cp/parser.c:33196
+#: cp/parser.c:33250
#, gcc-internal-format
msgid "%<@encode%> must specify a type as an argument"
msgstr ""
-#: cp/parser.c:33600
+#: cp/parser.c:33654
#, gcc-internal-format
msgid "invalid Objective-C++ selector name"
msgstr ""
-#: cp/parser.c:33675 cp/parser.c:33693
+#: cp/parser.c:33729 cp/parser.c:33747
#, gcc-internal-format
msgid "objective-c++ method declaration is expected"
msgstr ""
-#: cp/parser.c:33687 cp/parser.c:33753
+#: cp/parser.c:33741 cp/parser.c:33807
#, gcc-internal-format
msgid "method attributes must be specified at the end"
msgstr ""
-#: cp/parser.c:33796
+#: cp/parser.c:33850
#, gcc-internal-format
msgid "stray %qs between Objective-C++ methods"
msgstr ""
-#: cp/parser.c:33993 cp/parser.c:34000 cp/parser.c:34007
+#: cp/parser.c:34047 cp/parser.c:34054 cp/parser.c:34061
#, gcc-internal-format
msgid "invalid type for instance variable"
msgstr ""
-#: cp/parser.c:34124
+#: cp/parser.c:34178
#, gcc-internal-format
msgid "identifier expected after %<@protocol%>"
msgstr ""
-#: cp/parser.c:34297
+#: cp/parser.c:34351
#, gcc-internal-format
msgid ""
"attributes may not be specified before the %<@%D%> Objective-C++ keyword"
msgstr ""
-#: cp/parser.c:34304
+#: cp/parser.c:34358
#, gcc-internal-format
msgid "prefix attributes are ignored before %<@%D%>"
msgstr ""
-#: cp/parser.c:34584 cp/parser.c:34591 cp/parser.c:34598
+#: cp/parser.c:34638 cp/parser.c:34645 cp/parser.c:34652
#, gcc-internal-format
msgid "invalid type for property"
msgstr ""
-#: cp/parser.c:34760
+#: cp/parser.c:34814
#, gcc-internal-format
msgid "unknown property attribute %qE"
msgstr ""
-#: cp/parser.c:35826
+#: cp/parser.c:35879
#, gcc-internal-format
msgid "expected integer expression list"
msgstr ""
-#: cp/parser.c:35843
+#: cp/parser.c:35896
#, gcc-internal-format
msgid "%<wait%> expression must be integral"
msgstr ""
-#: cp/parser.c:36826
+#: cp/parser.c:36879
#, gcc-internal-format
msgid "invalid reduction-identifier"
msgstr ""
-#: cp/parser.c:37579
+#: cp/parser.c:37632
#, gcc-internal-format
msgid "types may not be defined in iterator type"
msgstr ""
-#: cp/parser.c:39708
+#: cp/parser.c:39761
#, gcc-internal-format
msgid "parenthesized initialization is not allowed in OpenMP %<for%> loop"
msgstr ""
-#: cp/parser.c:40259
+#: cp/parser.c:40312
#, gcc-internal-format
msgid "%<ordered%> clause with parameter on range-based %<for%> loop"
msgstr ""
-#: cp/parser.c:40346 cp/pt.c:17893
+#: cp/parser.c:40399 cp/pt.c:17982
#, gcc-internal-format
msgid "iteration variable %qD should not be reduction"
msgstr ""
-#: cp/parser.c:40439
+#: cp/parser.c:40492
#, gcc-internal-format
msgid "not enough for loops to collapse"
msgstr ""
-#: cp/parser.c:42655
+#: cp/parser.c:42708
#, gcc-internal-format
msgid "%<#pragma omp declare %s%> followed by %<#pragma omp declare %s%>"
msgstr ""
-#: cp/parser.c:43486
+#: cp/parser.c:43539
#, gcc-internal-format
msgid "invalid initializer clause"
msgstr ""
-#: cp/parser.c:43516
+#: cp/parser.c:43569
#, gcc-internal-format
msgid "expected id-expression (arguments)"
msgstr ""
-#: cp/parser.c:43528
+#: cp/parser.c:43581
#, gcc-internal-format
msgid ""
"one of the initializer call arguments should be %<omp_priv%> or %<&omp_priv%>"
msgstr ""
-#: cp/parser.c:43631
+#: cp/parser.c:43684
#, gcc-internal-format
msgid "types may not be defined in declare reduction type list"
msgstr ""
-#: cp/parser.c:43651 cp/semantics.c:5850
+#: cp/parser.c:43704 cp/semantics.c:5878
#, gcc-internal-format
msgid "predeclared arithmetic type %qT in %<#pragma omp declare reduction%>"
msgstr ""
-#: cp/parser.c:43655 cp/semantics.c:5858
+#: cp/parser.c:43708 cp/semantics.c:5886
#, gcc-internal-format
msgid "function or array type %qT in %<#pragma omp declare reduction%>"
msgstr ""
-#: cp/parser.c:43658 cp/pt.c:14005 cp/semantics.c:5864
+#: cp/parser.c:43711 cp/pt.c:14078 cp/semantics.c:5892
#, gcc-internal-format
msgid "reference type %qT in %<#pragma omp declare reduction%>"
msgstr ""
-#: cp/parser.c:43661 cp/semantics.c:5870
+#: cp/parser.c:43714 cp/semantics.c:5898
#, gcc-internal-format
msgid ""
"%<const%>, %<volatile%> or %<__restrict%>-qualified type %qT in %<#pragma "
"omp declare reduction%>"
msgstr ""
-#: cp/parser.c:44188
+#: cp/parser.c:44241
#, gcc-internal-format
msgid "%<#pragma acc routine%> names a set of overloads"
msgstr ""
-#: cp/parser.c:44198
+#: cp/parser.c:44251
#, gcc-internal-format
msgid "%qD does not refer to a namespace scope function"
msgstr ""
#. cancel-and-throw is unimplemented.
-#: cp/parser.c:44552
+#: cp/parser.c:44605
#, gcc-internal-format
msgid "%<atomic_cancel%>"
msgstr ""
-#: cp/parser.c:44599 cp/semantics.c:9954
+#: cp/parser.c:44652 cp/semantics.c:9982
#, gcc-internal-format
msgid "%<__transaction_relaxed%> without transactional memory support enabled"
msgstr ""
-#: cp/parser.c:44601 cp/semantics.c:9956
+#: cp/parser.c:44654 cp/semantics.c:9984
#, gcc-internal-format
msgid "%<__transaction_atomic%> without transactional memory support enabled"
msgstr ""
-#: cp/parser.c:44747
+#: cp/parser.c:44800
#, gcc-internal-format
msgid ""
"outer %<__transaction_cancel%> not within outer %<__transaction_atomic%>"
msgstr ""
-#: cp/parser.c:44750
+#: cp/parser.c:44803
#, gcc-internal-format
msgid " or a %<transaction_may_cancel_outer%> function"
msgstr ""
-#: cp/parser.c:44801
+#: cp/parser.c:44854
#, gcc-internal-format
msgid "malformed %<#pragma GCC pch_preprocess%>"
msgstr ""
-#: cp/parser.c:45086
+#: cp/parser.c:45139
#, gcc-internal-format
msgid "%<#pragma omp requires%> may only be used at file or namespace scope"
msgstr ""
-#: cp/parser.c:45129
+#: cp/parser.c:45182
#, gcc-internal-format
msgid "%<#pragma GCC ivdep%> must be inside a function"
msgstr ""
-#: cp/parser.c:45161
+#: cp/parser.c:45214
#, gcc-internal-format
msgid "%<#pragma GCC unroll%> must be inside a function"
msgstr ""
-#: cp/parser.c:45241
+#: cp/parser.c:45294
#, gcc-internal-format
msgid "multi-source compilation not implemented for C++"
msgstr ""
-#: cp/parser.c:45280
+#: cp/parser.c:45333
#, gcc-internal-format
msgid "placeholder type not allowed in this context"
msgstr ""
-#: cp/parser.c:45481
+#: cp/parser.c:45534
#, gcc-internal-format
msgid "implicit templates may not be %<virtual%>"
msgstr ""
-#: cp/parser.c:45537
+#: cp/parser.c:45590
#, gcc-internal-format
msgid "%<extern \"C\"%> linkage started here"
msgstr ""
-#: cp/pt.c:299
+#: cp/pt.c:297
#, gcc-internal-format
msgid "data member %qD cannot be a member template"
msgstr ""
-#: cp/pt.c:312
+#: cp/pt.c:310
#, gcc-internal-format
msgid "invalid member template declaration %qD"
msgstr ""
-#: cp/pt.c:736
+#: cp/pt.c:734
#, gcc-internal-format
msgid "explicit specialization in non-namespace scope %qD"
msgstr ""
-#: cp/pt.c:750
+#: cp/pt.c:748
#, gcc-internal-format
msgid "enclosing class templates are not explicitly specialized"
msgstr ""
-#: cp/pt.c:834
+#: cp/pt.c:832
#, gcc-internal-format
msgid "specialization of %qD must appear at namespace scope"
msgstr ""
-#: cp/pt.c:845 cp/pt.c:1078
+#: cp/pt.c:843 cp/pt.c:1080
#, gcc-internal-format
msgid "specialization of %qD in different namespace"
msgstr ""
-#: cp/pt.c:847
+#: cp/pt.c:845
#, gcc-internal-format
msgid " from definition of %q#D"
msgstr ""
-#: cp/pt.c:864
+#: cp/pt.c:862
#, gcc-internal-format
msgid ""
"explicit instantiation of %qD in namespace %qD (which does not enclose "
"namespace %qD)"
msgstr ""
-#: cp/pt.c:990
+#: cp/pt.c:992
#, gcc-internal-format
msgid "name of class shadows template template parameter %qD"
msgstr ""
-#: cp/pt.c:1002
+#: cp/pt.c:1004
#, gcc-internal-format
msgid "specialization of alias template %qD"
msgstr ""
-#: cp/pt.c:1005 cp/pt.c:1144
+#: cp/pt.c:1007 cp/pt.c:1146
#, gcc-internal-format
msgid "explicit specialization of non-template %qT"
msgstr ""
-#: cp/pt.c:1037
+#: cp/pt.c:1039
#, gcc-internal-format
msgid "specialization of %qT after instantiation"
msgstr ""
-#: cp/pt.c:1081
+#: cp/pt.c:1083
#, gcc-internal-format
msgid "from definition of %q#D"
msgstr ""
#. But if we've had an implicit instantiation, that's a
#. problem ([temp.expl.spec]/6).
-#: cp/pt.c:1122
+#: cp/pt.c:1124
#, gcc-internal-format
msgid "specialization %qT after instantiation %qT"
msgstr ""
-#: cp/pt.c:1140
+#: cp/pt.c:1142
#, gcc-internal-format
msgid "template specialization of %qD not allowed by ISO C++"
msgstr ""
-#: cp/pt.c:1605
+#: cp/pt.c:1607
#, gcc-internal-format
msgid "specialization of %qD after instantiation"
msgstr ""
-#: cp/pt.c:2047 cp/semantics.c:5719
+#: cp/pt.c:2049 cp/semantics.c:5747
#, gcc-internal-format
msgid "%s %#qD"
msgstr ""
-#: cp/pt.c:2183
+#: cp/pt.c:2185
#, gcc-internal-format
msgid "%qD is not a function template"
msgstr ""
-#: cp/pt.c:2188
+#: cp/pt.c:2190
#, gcc-internal-format
msgid "%qD is not a variable template"
msgstr ""
-#: cp/pt.c:2480
+#: cp/pt.c:2486
#, gcc-internal-format
msgid "template-id %qD for %q+D does not match any template declaration"
msgstr ""
-#: cp/pt.c:2484
+#: cp/pt.c:2490
#, gcc-internal-format
msgid ""
"saw %d %<template<>%>, need %d for specializing a member function template"
msgstr ""
-#: cp/pt.c:2495
+#: cp/pt.c:2500
#, gcc-internal-format
msgid "ambiguous template specialization %qD for %q+D"
msgstr ""
-#: cp/pt.c:2702
+#: cp/pt.c:2707
#, gcc-internal-format
msgid ""
"variable templates only available with %<-std=c++14%> or %<-std=gnu++14%>"
msgstr ""
-#: cp/pt.c:2712
+#: cp/pt.c:2717
#, gcc-internal-format
msgid "too many template headers for %qD (should be %d)"
msgstr ""
-#: cp/pt.c:2718
+#: cp/pt.c:2723
#, gcc-internal-format
msgid ""
"members of an explicitly specialized class are defined without a template "
"header"
msgstr ""
-#: cp/pt.c:2742
+#: cp/pt.c:2747
#, gcc-internal-format
msgid ""
"explicit specialization of %qD outside its namespace must use a nested-name-"
@@ -57965,79 +58017,79 @@ msgid ""
msgstr ""
#. This was allowed in C++98, so only pedwarn.
-#: cp/pt.c:2747
+#: cp/pt.c:2752
#, gcc-internal-format
msgid ""
"explicit instantiation of %qD outside its namespace must use a nested-name-"
"specifier"
msgstr ""
-#: cp/pt.c:2783
+#: cp/pt.c:2788
#, gcc-internal-format
msgid "explicit specialization %q#D may be missing attributes"
msgstr ""
-#: cp/pt.c:2787
+#: cp/pt.c:2792
#, gcc-internal-format, gfc-internal-format
msgid "missing primary template attributes %s"
msgstr ""
-#: cp/pt.c:2788
+#: cp/pt.c:2793
#, gcc-internal-format, gfc-internal-format
msgid "missing primary template attribute %s"
msgstr ""
-#: cp/pt.c:2878 cp/pt.c:2938
+#: cp/pt.c:2883 cp/pt.c:2943
#, gcc-internal-format
msgid "template-id %qE in declaration of primary template"
msgstr ""
-#: cp/pt.c:2891
+#: cp/pt.c:2896
#, gcc-internal-format
msgid "template parameter list used in explicit instantiation"
msgstr ""
-#: cp/pt.c:2897
+#: cp/pt.c:2902
#, gcc-internal-format
msgid "definition provided for explicit instantiation"
msgstr ""
-#: cp/pt.c:2905
+#: cp/pt.c:2910
#, gcc-internal-format
msgid "too many template parameter lists in declaration of %qD"
msgstr ""
-#: cp/pt.c:2908
+#: cp/pt.c:2913
#, gcc-internal-format
msgid "too few template parameter lists in declaration of %qD"
msgstr ""
-#: cp/pt.c:2910
+#: cp/pt.c:2915
#, gcc-internal-format
msgid "explicit specialization of %qD must be introduced by %<template <>%>"
msgstr ""
-#: cp/pt.c:2916
+#: cp/pt.c:2921
#, gcc-internal-format
msgid "explicit specialization declared %<concept%>"
msgstr ""
-#: cp/pt.c:2949
+#: cp/pt.c:2954
#, gcc-internal-format
msgid "non-type partial specialization %qE is not allowed"
msgstr ""
-#: cp/pt.c:2953
+#: cp/pt.c:2958
#, gcc-internal-format
msgid "non-class, non-variable partial specialization %qE is not allowed"
msgstr ""
-#: cp/pt.c:2985
+#: cp/pt.c:2990
#, gcc-internal-format
msgid "default argument specified in explicit specialization"
msgstr ""
-#: cp/pt.c:3028
+#: cp/pt.c:3033
#, gcc-internal-format
msgid "%qD is not a template function"
msgstr ""
@@ -58050,99 +58102,99 @@ msgstr ""
#. program is ill-formed.
#.
#. Similar language is found in [temp.explicit].
-#: cp/pt.c:3090
+#: cp/pt.c:3095
#, gcc-internal-format
msgid "specialization of implicitly-declared special member function"
msgstr ""
-#: cp/pt.c:3106
+#: cp/pt.c:3111
#, gcc-internal-format
msgid "no member function %qD declared in %qT"
msgstr ""
-#: cp/pt.c:3137
+#: cp/pt.c:3142
#, gcc-internal-format
msgid "friend declaration %qD is not visible to explicit specialization"
msgstr ""
-#: cp/pt.c:3140
+#: cp/pt.c:3145
#, gcc-internal-format
msgid "friend declaration here"
msgstr ""
-#: cp/pt.c:3249
+#: cp/pt.c:3254
#, gcc-internal-format
msgid "explicit specialization of function concept %qD"
msgstr ""
-#: cp/pt.c:3830
+#: cp/pt.c:3835
#, gcc-internal-format
msgid "argument to %<__integer_pack%> must be between 0 and %d"
msgstr ""
-#: cp/pt.c:4133
+#: cp/pt.c:4164
#, gcc-internal-format
msgid "base initializer expansion %qT contains no parameter packs"
msgstr ""
-#: cp/pt.c:4201
+#: cp/pt.c:4232
#, gcc-internal-format
msgid "expansion pattern %qT contains no parameter packs"
msgstr ""
-#: cp/pt.c:4203
+#: cp/pt.c:4234
#, gcc-internal-format
msgid "expansion pattern %qE contains no parameter packs"
msgstr ""
-#: cp/pt.c:4262
+#: cp/pt.c:4293
#, gcc-internal-format
msgid "parameter packs not expanded with %<...%>:"
msgstr ""
-#: cp/pt.c:4279 cp/pt.c:5092
+#: cp/pt.c:4310 cp/pt.c:5115
#, gcc-internal-format
msgid " %qD"
msgstr ""
-#: cp/pt.c:4281
+#: cp/pt.c:4312
#, gcc-internal-format, gfc-internal-format
msgid " %s"
msgstr ""
-#: cp/pt.c:4407
+#: cp/pt.c:4438
#, gcc-internal-format
msgid "declaration of template parameter %q+D shadows template parameter"
msgstr ""
-#: cp/pt.c:4410
+#: cp/pt.c:4441
#, gcc-internal-format
msgid "declaration of %q+#D shadows template parameter"
msgstr ""
-#: cp/pt.c:4412
+#: cp/pt.c:4443
#, gcc-internal-format
msgid "template parameter %qD declared here"
msgstr ""
-#: cp/pt.c:5028
+#: cp/pt.c:5051
#, gcc-internal-format
msgid "specialization of variable concept %q#D"
msgstr ""
-#: cp/pt.c:5087
+#: cp/pt.c:5110
#, gcc-internal-format
msgid "template parameters not deducible in partial specialization:"
msgstr ""
-#: cp/pt.c:5110
+#: cp/pt.c:5133
#, gcc-internal-format
msgid ""
"partial specialization %q+D does not specialize any template arguments; to "
"define the primary template, remove the template argument list"
msgstr ""
-#: cp/pt.c:5114
+#: cp/pt.c:5137
#, gcc-internal-format
msgid ""
"partial specialization %q+D does not specialize any template arguments and "
@@ -58150,68 +58202,68 @@ msgid ""
"template, remove the template argument list"
msgstr ""
-#: cp/pt.c:5118 cp/pt.c:5129 cp/pt.c:5137
+#: cp/pt.c:5141 cp/pt.c:5152 cp/pt.c:5160
#, gcc-internal-format
msgid "primary template here"
msgstr ""
-#: cp/pt.c:5126
+#: cp/pt.c:5149
#, gcc-internal-format
msgid ""
"partial specialization is not more specialized than the primary template "
"because it replaces multiple parameters with a pack expansion"
msgstr ""
-#: cp/pt.c:5136
+#: cp/pt.c:5159
#, gcc-internal-format
msgid "too many arguments for partial specialization %qT"
msgstr ""
-#: cp/pt.c:5150
+#: cp/pt.c:5173
#, gcc-internal-format
msgid "partial specialization %qD is not more specialized than"
msgstr ""
-#: cp/pt.c:5152
+#: cp/pt.c:5175
#, gcc-internal-format
msgid "primary template %qD"
msgstr ""
-#: cp/pt.c:5198
+#: cp/pt.c:5221
#, gcc-internal-format
msgid ""
"parameter pack argument %qE must be at the end of the template argument list"
msgstr ""
-#: cp/pt.c:5201
+#: cp/pt.c:5224
#, gcc-internal-format
msgid ""
"parameter pack argument %qT must be at the end of the template argument list"
msgstr ""
-#: cp/pt.c:5224
+#: cp/pt.c:5247
#, gcc-internal-format
msgid "template argument %qE involves template parameter(s)"
msgstr ""
-#: cp/pt.c:5270
+#: cp/pt.c:5293
#, gcc-internal-format
msgid "type %qT of template argument %qE depends on a template parameter"
msgid_plural "type %qT of template argument %qE depends on template parameters"
msgstr[0] ""
msgstr[1] ""
-#: cp/pt.c:5330
+#: cp/pt.c:5353
#, gcc-internal-format
msgid "declaration of %qD ambiguates earlier template instantiation for %qD"
msgstr ""
-#: cp/pt.c:5334
+#: cp/pt.c:5357
#, gcc-internal-format
msgid "partial specialization of %qD after instantiation of %qD"
msgstr ""
-#: cp/pt.c:5517
+#: cp/pt.c:5540
#, gcc-internal-format
msgid "no default argument for %qD"
msgstr ""
@@ -58220,52 +58272,52 @@ msgstr ""
#. (DR 2032), or alias template can only have one
#. parameter pack, at the end of the template
#. parameter list.
-#: cp/pt.c:5540
+#: cp/pt.c:5563
#, gcc-internal-format
msgid "parameter pack %q+D must be at the end of the template parameter list"
msgstr ""
-#: cp/pt.c:5576
+#: cp/pt.c:5599
#, gcc-internal-format
msgid ""
"default template arguments may not be used in function template friend re-"
"declaration"
msgstr ""
-#: cp/pt.c:5579
+#: cp/pt.c:5602
#, gcc-internal-format
msgid ""
"default template arguments may not be used in template friend declarations"
msgstr ""
-#: cp/pt.c:5582
+#: cp/pt.c:5605
#, gcc-internal-format
msgid ""
"default template arguments may not be used in function templates without %<-"
"std=c++11%> or %<-std=gnu++11%>"
msgstr ""
-#: cp/pt.c:5585
+#: cp/pt.c:5608
#, gcc-internal-format
msgid "default template arguments may not be used in partial specializations"
msgstr ""
-#: cp/pt.c:5588 cp/pt.c:5646
+#: cp/pt.c:5611 cp/pt.c:5669
#, gcc-internal-format
msgid "default argument for template parameter for class enclosing %qD"
msgstr ""
-#: cp/pt.c:5757
+#: cp/pt.c:5780
#, gcc-internal-format
msgid "template %qD declared"
msgstr ""
-#: cp/pt.c:5765
+#: cp/pt.c:5788
#, gcc-internal-format
msgid "template class without a name"
msgstr ""
-#: cp/pt.c:5773
+#: cp/pt.c:5796
#, gcc-internal-format
msgid "member template %qD may not have virt-specifiers"
msgstr ""
@@ -58275,525 +58327,525 @@ msgstr ""
#. An allocation function can be a function
#. template. ... Template allocation functions shall
#. have two or more parameters.
-#: cp/pt.c:5796
+#: cp/pt.c:5819
#, gcc-internal-format
msgid "invalid template declaration of %qD"
msgstr ""
-#: cp/pt.c:5952
+#: cp/pt.c:5975
#, gcc-internal-format
msgid "template definition of non-template %q#D"
msgstr ""
-#: cp/pt.c:5991
+#: cp/pt.c:6014
#, gcc-internal-format
msgid "expected %d levels of template parms for %q#D, got %d"
msgstr ""
-#: cp/pt.c:6005
+#: cp/pt.c:6028
#, gcc-internal-format
msgid "got %d template parameters for %q#D"
msgstr ""
-#: cp/pt.c:6008
+#: cp/pt.c:6031
#, gcc-internal-format
msgid "got %d template parameters for %q#T"
msgstr ""
-#: cp/pt.c:6010
+#: cp/pt.c:6033
#, gcc-internal-format, gfc-internal-format
msgid " but %d required"
msgstr ""
-#: cp/pt.c:6031
+#: cp/pt.c:6054
#, gcc-internal-format
msgid "template arguments to %qD do not match original template %qD"
msgstr ""
-#: cp/pt.c:6034
+#: cp/pt.c:6057
#, gcc-internal-format
msgid "use %<template<>%> for an explicit specialization"
msgstr ""
-#: cp/pt.c:6179
+#: cp/pt.c:6202
#, gcc-internal-format
msgid "%qT is not a template type"
msgstr ""
-#: cp/pt.c:6192
+#: cp/pt.c:6215
#, gcc-internal-format
msgid "template specifiers not specified in declaration of %qD"
msgstr ""
-#: cp/pt.c:6203
+#: cp/pt.c:6226
#, gcc-internal-format, gfc-internal-format
msgid "redeclared with %d template parameter"
msgid_plural "redeclared with %d template parameters"
msgstr[0] ""
msgstr[1] ""
-#: cp/pt.c:6207
+#: cp/pt.c:6230
#, gcc-internal-format
msgid "previous declaration %qD used %d template parameter"
msgid_plural "previous declaration %qD used %d template parameters"
msgstr[0] ""
msgstr[1] ""
-#: cp/pt.c:6245
+#: cp/pt.c:6268
#, gcc-internal-format
msgid "template parameter %q+#D"
msgstr ""
-#: cp/pt.c:6246
+#: cp/pt.c:6269
#, gcc-internal-format
msgid "redeclared here as %q#D"
msgstr ""
-#: cp/pt.c:6257
+#: cp/pt.c:6280
#, gcc-internal-format
msgid "declaration of template parameter %q+#D with different constraints"
msgstr ""
-#: cp/pt.c:6260 cp/pt.c:6309
+#: cp/pt.c:6283 cp/pt.c:6332
#, gcc-internal-format
msgid "original declaration appeared here"
msgstr ""
-#: cp/pt.c:6271
+#: cp/pt.c:6294
#, gcc-internal-format
msgid "redefinition of default argument for %q#D"
msgstr ""
-#: cp/pt.c:6273
+#: cp/pt.c:6296
#, gcc-internal-format
msgid "original definition appeared here"
msgstr ""
-#: cp/pt.c:6306
+#: cp/pt.c:6329
#, gcc-internal-format
msgid "redeclaration %q#D with different constraints"
msgstr ""
-#: cp/pt.c:6637 cp/pt.c:6706
+#: cp/pt.c:6664 cp/pt.c:6733
#, gcc-internal-format
msgid "%qE is not a valid template argument for type %qT"
msgstr ""
-#: cp/pt.c:6640
+#: cp/pt.c:6667
#, gcc-internal-format
msgid "it must be the address of a function with external linkage"
msgstr ""
-#: cp/pt.c:6643
+#: cp/pt.c:6670
#, gcc-internal-format
msgid "it must be the name of a function with external linkage"
msgstr ""
-#: cp/pt.c:6656
+#: cp/pt.c:6683
#, gcc-internal-format
msgid ""
"%qE is not a valid template argument for type %qT because %qD has no linkage"
msgstr ""
-#: cp/pt.c:6660
+#: cp/pt.c:6687
#, gcc-internal-format
msgid ""
"%qE is not a valid template argument for type %qT because %qD does not have "
"external linkage"
msgstr ""
-#: cp/pt.c:6709
+#: cp/pt.c:6736
#, gcc-internal-format
msgid "it must be a pointer-to-member of the form %<&X::Y%>"
msgstr ""
-#: cp/pt.c:6711
+#: cp/pt.c:6738
#, gcc-internal-format
msgid "because it is a member of %qT"
msgstr ""
-#: cp/pt.c:6773
+#: cp/pt.c:6800
#, gcc-internal-format
msgid " couldn%'t deduce template parameter %qD"
msgstr ""
-#: cp/pt.c:6782
+#: cp/pt.c:6809
#, gcc-internal-format
msgid " types %qT and %qT have incompatible cv-qualifiers"
msgstr ""
-#: cp/pt.c:6791
+#: cp/pt.c:6818
#, gcc-internal-format
msgid " mismatched types %qT and %qT"
msgstr ""
-#: cp/pt.c:6800
+#: cp/pt.c:6827
#, gcc-internal-format
msgid " template parameter %qD is not a parameter pack, but argument %qD is"
msgstr ""
-#: cp/pt.c:6811
+#: cp/pt.c:6838
#, gcc-internal-format
msgid " template argument %qE does not match pointer-to-member constant %qE"
msgstr ""
-#: cp/pt.c:6821
+#: cp/pt.c:6848
#, gcc-internal-format
msgid " %qE is not equivalent to %qE"
msgstr ""
-#: cp/pt.c:6830
+#: cp/pt.c:6857
#, gcc-internal-format
msgid " inconsistent parameter pack deduction with %qT and %qT"
msgstr ""
-#: cp/pt.c:6842
+#: cp/pt.c:6869
#, gcc-internal-format
msgid " deduced conflicting types for parameter %qT (%qT and %qT)"
msgstr ""
-#: cp/pt.c:6846
+#: cp/pt.c:6873
#, gcc-internal-format
msgid " deduced conflicting values for non-type parameter %qE (%qE and %qE)"
msgstr ""
-#: cp/pt.c:6857
+#: cp/pt.c:6884
#, gcc-internal-format
msgid " variable-sized array type %qT is not a valid template argument"
msgstr ""
-#: cp/pt.c:6868
+#: cp/pt.c:6895
#, gcc-internal-format
msgid " member function type %qT is not a valid template argument"
msgstr ""
-#: cp/pt.c:6880
+#: cp/pt.c:6907
#, gcc-internal-format, gfc-internal-format
msgid " candidate expects at least %d argument, %d provided"
msgid_plural " candidate expects at least %d arguments, %d provided"
msgstr[0] ""
msgstr[1] ""
-#: cp/pt.c:6911
+#: cp/pt.c:6938
#, gcc-internal-format
msgid " cannot convert %qE (type %qT) to type %qT"
msgstr ""
-#: cp/pt.c:6924
+#: cp/pt.c:6951
#, gcc-internal-format
msgid " %qT is an ambiguous base class of %qT"
msgstr ""
-#: cp/pt.c:6928
+#: cp/pt.c:6955
#, gcc-internal-format
msgid " %qT is not derived from %qT"
msgstr ""
-#: cp/pt.c:6939
+#: cp/pt.c:6966
#, gcc-internal-format
msgid ""
" template parameters of a template template argument are inconsistent with "
"other deduced template arguments"
msgstr ""
-#: cp/pt.c:6949
+#: cp/pt.c:6976
#, gcc-internal-format
msgid " cannot deduce a template for %qT from non-template type %qT"
msgstr ""
-#: cp/pt.c:6959
+#: cp/pt.c:6986
#, gcc-internal-format
msgid " template argument %qE does not match %qE"
msgstr ""
-#: cp/pt.c:7021
+#: cp/pt.c:7048
#, gcc-internal-format
msgid ""
"%qE is not a valid template argument of type %qT because %qE is not a "
"variable"
msgstr ""
-#: cp/pt.c:7029
+#: cp/pt.c:7056
#, gcc-internal-format
msgid ""
"%qE is not a valid template argument of type %qT in C++98 because %qD does "
"not have external linkage"
msgstr ""
-#: cp/pt.c:7039
+#: cp/pt.c:7066
#, gcc-internal-format
msgid ""
"%qE is not a valid template argument of type %qT because %qD has no linkage"
msgstr ""
-#: cp/pt.c:7054
+#: cp/pt.c:7081
#, gcc-internal-format
msgid "the address of %qD is not a valid template argument"
msgstr ""
-#: cp/pt.c:7064
+#: cp/pt.c:7091
#, gcc-internal-format
msgid ""
"the address of the %qT subobject of %qD is not a valid template argument"
msgstr ""
-#: cp/pt.c:7071
+#: cp/pt.c:7098
#, gcc-internal-format
msgid ""
"the address of %qD is not a valid template argument because it does not have "
"static storage duration"
msgstr ""
-#: cp/pt.c:7089
+#: cp/pt.c:7116
#, gcc-internal-format
msgid ""
"%qD is not a valid template argument because %qD is a variable, not the "
"address of a variable"
msgstr ""
-#: cp/pt.c:7097
+#: cp/pt.c:7124
#, gcc-internal-format
msgid ""
"%qE is not a valid template argument for %qT because it is not the address "
"of a variable"
msgstr ""
-#: cp/pt.c:7206
+#: cp/pt.c:7236
#, gcc-internal-format
msgid ""
"%qE is not a valid template argument for type %qT because string literals "
"can never be used in this context"
msgstr ""
-#: cp/pt.c:7365
+#: cp/pt.c:7395
#, gcc-internal-format
msgid "in template argument for type %qT"
msgstr ""
-#: cp/pt.c:7379
+#: cp/pt.c:7409
#, gcc-internal-format
msgid "template argument %qE for type %qT not a compile-time constant"
msgstr ""
-#: cp/pt.c:7465
+#: cp/pt.c:7495
#, gcc-internal-format
msgid ""
"%qE is not a valid template argument for type %qT because of conflicts in cv-"
"qualification"
msgstr ""
-#: cp/pt.c:7473
+#: cp/pt.c:7503
#, gcc-internal-format
msgid ""
"%qE is not a valid template argument for type %qT because it is not an lvalue"
msgstr ""
-#: cp/pt.c:7491
+#: cp/pt.c:7521
#, gcc-internal-format
msgid ""
"%q#D is not a valid template argument for type %qT because a reference "
"variable does not have a constant address"
msgstr ""
-#: cp/pt.c:7550
+#: cp/pt.c:7580
#, gcc-internal-format
msgid ""
"%qE is not a valid template argument for type %qT because it is a pointer"
msgstr ""
-#: cp/pt.c:7552
+#: cp/pt.c:7582
#, gcc-internal-format
msgid "try using %qE instead"
msgstr ""
-#: cp/pt.c:7606
+#: cp/pt.c:7636
#, gcc-internal-format
msgid ""
"%qE is not a valid template argument for type %qT because it is of type %qT"
msgstr ""
-#: cp/pt.c:8155
+#: cp/pt.c:8185
#, gcc-internal-format
msgid "ignoring attributes on template argument %qT"
msgstr ""
-#: cp/pt.c:8171
+#: cp/pt.c:8201
#, gcc-internal-format
msgid "ignoring attributes in template argument %qE"
msgstr ""
-#: cp/pt.c:8305
+#: cp/pt.c:8335
#, gcc-internal-format
msgid "injected-class-name %qD used as template template argument"
msgstr ""
-#: cp/pt.c:8334
+#: cp/pt.c:8364
#, gcc-internal-format
msgid "invalid use of destructor %qE as a type"
msgstr ""
-#: cp/pt.c:8339
+#: cp/pt.c:8369
#, gcc-internal-format
msgid "to refer to a type member of a template parameter, use %<typename %E%>"
msgstr ""
-#: cp/pt.c:8355 cp/pt.c:8389 cp/pt.c:8443
+#: cp/pt.c:8385 cp/pt.c:8419 cp/pt.c:8473
#, gcc-internal-format
msgid "type/value mismatch at argument %d in template parameter list for %qD"
msgstr ""
-#: cp/pt.c:8363
+#: cp/pt.c:8393
#, gcc-internal-format
msgid " expected a constant of type %qT, got %qT"
msgstr ""
-#: cp/pt.c:8371
+#: cp/pt.c:8401
#, gcc-internal-format
msgid ""
" ambiguous template argument for non-type template parameter is treated as "
"function type"
msgstr ""
-#: cp/pt.c:8377
+#: cp/pt.c:8407
#, gcc-internal-format
msgid " expected a class template, got %qE"
msgstr ""
-#: cp/pt.c:8380
+#: cp/pt.c:8410
#, gcc-internal-format
msgid " expected a type, got %qE"
msgstr ""
-#: cp/pt.c:8394
+#: cp/pt.c:8424
#, gcc-internal-format
msgid " expected a type, got %qT"
msgstr ""
-#: cp/pt.c:8397
+#: cp/pt.c:8427
#, gcc-internal-format
msgid " expected a class template, got %qT"
msgstr ""
-#: cp/pt.c:8447
+#: cp/pt.c:8477
#, gcc-internal-format
msgid " expected a template of type %qD, got %qT"
msgstr ""
-#: cp/pt.c:8461
+#: cp/pt.c:8491
#, gcc-internal-format
msgid "constraint mismatch at argument %d in template parameter list for %qD"
msgstr ""
-#: cp/pt.c:8464
+#: cp/pt.c:8494
#, gcc-internal-format
msgid " expected %qD but got %qD"
msgstr ""
-#: cp/pt.c:8528
+#: cp/pt.c:8558
#, gcc-internal-format
msgid "could not convert template argument %qE from %qT to %qT"
msgstr ""
-#: cp/pt.c:8666 cp/pt.c:8979
+#: cp/pt.c:8696 cp/pt.c:9009
#, gcc-internal-format, gfc-internal-format
msgid "template argument %d is invalid"
msgstr ""
-#: cp/pt.c:8681 cp/pt.c:8813
+#: cp/pt.c:8711 cp/pt.c:8843
#, gcc-internal-format, gfc-internal-format
msgid "wrong number of template arguments (%d, should be %d)"
msgstr ""
-#: cp/pt.c:8809
+#: cp/pt.c:8839
#, gcc-internal-format, gfc-internal-format
msgid "wrong number of template arguments (%d, should be at least %d)"
msgstr ""
-#: cp/pt.c:8818
+#: cp/pt.c:8848
#, gcc-internal-format
msgid "provided for %qD"
msgstr ""
-#: cp/pt.c:8843
+#: cp/pt.c:8873
#, gcc-internal-format
msgid ""
"pack expansion argument for non-pack parameter %qD of alias template %qD"
msgstr ""
-#: cp/pt.c:8847
+#: cp/pt.c:8877
#, gcc-internal-format
msgid "pack expansion argument for non-pack parameter %qD of concept %qD"
msgstr ""
-#: cp/pt.c:8945
+#: cp/pt.c:8975
#, gcc-internal-format
msgid ""
"so any instantiation with a non-empty parameter pack would be ill-formed"
msgstr ""
-#: cp/pt.c:9589
+#: cp/pt.c:9619
#, gcc-internal-format
msgid "%q#D is not a function template"
msgstr ""
-#: cp/pt.c:9752
+#: cp/pt.c:9782
#, gcc-internal-format
msgid "non-template type %qT used as a template"
msgstr ""
-#: cp/pt.c:9754
+#: cp/pt.c:9784
#, gcc-internal-format
msgid "for template declaration %q+D"
msgstr ""
-#: cp/pt.c:9883 cp/pt.c:21201
+#: cp/pt.c:9913 cp/pt.c:21289
#, gcc-internal-format
msgid "template constraint failure for %qD"
msgstr ""
-#: cp/pt.c:10280
+#: cp/pt.c:10293
#, gcc-internal-format
msgid "use of invalid variable template %qE"
msgstr ""
-#: cp/pt.c:10924
+#: cp/pt.c:10953
#, gcc-internal-format
msgid ""
"template instantiation depth exceeds maximum of %d (use %<-ftemplate-depth="
"%> to increase the maximum)"
msgstr ""
-#: cp/pt.c:12083
+#: cp/pt.c:12112
#, gcc-internal-format
msgid "flexible array member %qD in union"
msgstr ""
-#: cp/pt.c:12580
+#: cp/pt.c:12609
#, gcc-internal-format
msgid "fold of empty expansion over %O"
msgstr ""
-#: cp/pt.c:12977
+#: cp/pt.c:13039
#, gcc-internal-format
msgid "%qE is not the entire pattern of the pack expansion"
msgstr ""
-#: cp/pt.c:13065
+#: cp/pt.c:13127
#, gcc-internal-format
msgid "mismatched argument pack lengths while expanding %qT"
msgstr ""
-#: cp/pt.c:13068
+#: cp/pt.c:13130
#, gcc-internal-format
msgid "mismatched argument pack lengths while expanding %qE"
msgstr ""
-#: cp/pt.c:13658
+#: cp/pt.c:13731
#, gcc-internal-format
msgid " when instantiating default argument for call to %qD"
msgstr ""
-#: cp/pt.c:13757
+#: cp/pt.c:13830
#, gcc-internal-format
msgid "creating pointer to member function of non-class type %qT"
msgstr ""
@@ -58811,295 +58863,295 @@ msgstr ""
#.
#. is an attempt to declare a variable with function
#. type.
-#: cp/pt.c:14830
+#: cp/pt.c:14919
#, gcc-internal-format
msgid "variable %qD has function type"
msgstr ""
-#: cp/pt.c:15030
+#: cp/pt.c:15119
#, gcc-internal-format
msgid "invalid parameter type %qT"
msgstr ""
-#: cp/pt.c:15032
+#: cp/pt.c:15121
#, gcc-internal-format
msgid "in declaration %q+D"
msgstr ""
-#: cp/pt.c:15147
+#: cp/pt.c:15236
#, gcc-internal-format
msgid "function returning an array"
msgstr ""
-#: cp/pt.c:15149
+#: cp/pt.c:15238
#, gcc-internal-format
msgid "function returning a function"
msgstr ""
-#: cp/pt.c:15845
+#: cp/pt.c:15934
#, gcc-internal-format
msgid "forming reference to void"
msgstr ""
-#: cp/pt.c:15847
+#: cp/pt.c:15936
#, gcc-internal-format
msgid "forming pointer to reference type %qT"
msgstr ""
-#: cp/pt.c:15849
+#: cp/pt.c:15938
#, gcc-internal-format
msgid "forming reference to reference type %qT"
msgstr ""
-#: cp/pt.c:15862
+#: cp/pt.c:15951
#, gcc-internal-format
msgid "forming pointer to qualified function type %qT"
msgstr ""
-#: cp/pt.c:15865
+#: cp/pt.c:15954
#, gcc-internal-format
msgid "forming reference to qualified function type %qT"
msgstr ""
-#: cp/pt.c:15913
+#: cp/pt.c:16002
#, gcc-internal-format
msgid "creating pointer to member of non-class type %qT"
msgstr ""
-#: cp/pt.c:15919
+#: cp/pt.c:16008
#, gcc-internal-format
msgid "creating pointer to member reference type %qT"
msgstr ""
-#: cp/pt.c:15925
+#: cp/pt.c:16014
#, gcc-internal-format
msgid "creating pointer to member of type void"
msgstr ""
-#: cp/pt.c:16026
+#: cp/pt.c:16115
#, gcc-internal-format
msgid "%qD is instantiated for an empty pack"
msgstr ""
-#: cp/pt.c:16046
+#: cp/pt.c:16135
#, gcc-internal-format
msgid "%qT is not a class, struct, or union type"
msgstr ""
-#: cp/pt.c:16078
+#: cp/pt.c:16167
#, gcc-internal-format
msgid "%qT resolves to %qT, which is not an enumeration type"
msgstr ""
-#: cp/pt.c:16086
+#: cp/pt.c:16175
#, gcc-internal-format
msgid "%qT resolves to %qT, which is not a class type"
msgstr ""
-#: cp/pt.c:16200
+#: cp/pt.c:16289
#, gcc-internal-format
msgid "use of %qs in template"
msgstr ""
-#: cp/pt.c:16388
+#: cp/pt.c:16477
#, gcc-internal-format
msgid "qualifying type %qT does not match destructor name ~%qT"
msgstr ""
-#: cp/pt.c:16403
+#: cp/pt.c:16492
#, gcc-internal-format
msgid ""
"dependent-name %qE is parsed as a non-type, but instantiation yields a type"
msgstr ""
-#: cp/pt.c:16405
+#: cp/pt.c:16494
#, gcc-internal-format
msgid "say %<typename %E%> if a type is meant"
msgstr ""
-#: cp/pt.c:16498
+#: cp/pt.c:16587
#, gcc-internal-format
msgid "initializer for %q#D expands to an empty list of expressions"
msgstr ""
-#: cp/pt.c:16649
+#: cp/pt.c:16738
#, gcc-internal-format
msgid "using invalid field %qD"
msgstr ""
-#: cp/pt.c:17213 cp/pt.c:19086
+#: cp/pt.c:17302 cp/pt.c:19175
#, gcc-internal-format
msgid "invalid use of pack expansion expression"
msgstr ""
-#: cp/pt.c:17217 cp/pt.c:19090
+#: cp/pt.c:17306 cp/pt.c:19179
#, gcc-internal-format
msgid "use %<...%> to expand argument pack"
msgstr ""
-#: cp/pt.c:19230
+#: cp/pt.c:19319
#, gcc-internal-format
msgid "empty initializer in lambda init-capture"
msgstr ""
-#: cp/pt.c:20286
+#: cp/pt.c:20374
#, 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.c:20313
+#: cp/pt.c:20401
#, gcc-internal-format
msgid "declarations in dependent base %qT are not found by unqualified lookup"
msgstr ""
-#: cp/pt.c:20318
+#: cp/pt.c:20406
#, gcc-internal-format
msgid "use %<this->%D%> instead"
msgstr ""
-#: cp/pt.c:20321
+#: cp/pt.c:20409
#, gcc-internal-format
msgid "use %<%T::%D%> instead"
msgstr ""
-#: cp/pt.c:20326
+#: cp/pt.c:20414
#, gcc-internal-format
msgid "%qD declared here, later in the translation unit"
msgstr ""
-#: cp/pt.c:20374
+#: cp/pt.c:20462
#, gcc-internal-format
msgid "wrong number of arguments to %<__builtin_convertvector%>"
msgstr ""
-#: cp/pt.c:20594
+#: cp/pt.c:20682
#, gcc-internal-format
msgid "%qT is not a class or namespace"
msgstr ""
-#: cp/pt.c:20597
+#: cp/pt.c:20685
#, gcc-internal-format
msgid "%qD is not a class or namespace"
msgstr ""
-#: cp/pt.c:20919
+#: cp/pt.c:21007
#, gcc-internal-format
msgid "%qT is/uses unnamed type"
msgstr ""
-#: cp/pt.c:20921
+#: cp/pt.c:21009
#, gcc-internal-format
msgid "template argument for %qD uses local type %qT"
msgstr ""
-#: cp/pt.c:20931
+#: cp/pt.c:21019
#, gcc-internal-format
msgid "%qT is a variably modified type"
msgstr ""
-#: cp/pt.c:20946
+#: cp/pt.c:21034
#, gcc-internal-format
msgid "integral expression %qE is not constant"
msgstr ""
-#: cp/pt.c:20964
+#: cp/pt.c:21052
#, gcc-internal-format
msgid " trying to instantiate %qD"
msgstr ""
-#: cp/pt.c:25055
+#: cp/pt.c:25148
#, gcc-internal-format
msgid "ambiguous template instantiation for %q#T"
msgstr ""
-#: cp/pt.c:25057
+#: cp/pt.c:25150
#, gcc-internal-format
msgid "ambiguous template instantiation for %q#D"
msgstr ""
-#: cp/pt.c:25063
+#: cp/pt.c:25156
msgid "%s %#qS"
msgstr ""
-#: cp/pt.c:25087 cp/pt.c:25182
+#: cp/pt.c:25180 cp/pt.c:25275
#, gcc-internal-format
msgid "explicit instantiation of non-template %q#D"
msgstr ""
-#: cp/pt.c:25093
+#: cp/pt.c:25186
#, gcc-internal-format
msgid "explicit instantiation of variable concept %q#D"
msgstr ""
-#: cp/pt.c:25095
+#: cp/pt.c:25188
#, gcc-internal-format
msgid "explicit instantiation of function concept %q#D"
msgstr ""
-#: cp/pt.c:25114
+#: cp/pt.c:25207
#, gcc-internal-format
msgid "%qD is not a static data member of a class template"
msgstr ""
-#: cp/pt.c:25120 cp/pt.c:25177
+#: cp/pt.c:25213 cp/pt.c:25270
#, gcc-internal-format
msgid "no matching template for %qD found"
msgstr ""
-#: cp/pt.c:25125
+#: cp/pt.c:25218
#, gcc-internal-format
msgid ""
"type %qT for explicit instantiation %qD does not match declared type %qT"
msgstr ""
-#: cp/pt.c:25133
+#: cp/pt.c:25226
#, gcc-internal-format
msgid "explicit instantiation of %q#D"
msgstr ""
-#: cp/pt.c:25169
+#: cp/pt.c:25262
#, gcc-internal-format
msgid "duplicate explicit instantiation of %q#D"
msgstr ""
-#: cp/pt.c:25192 cp/pt.c:25259
+#: cp/pt.c:25285 cp/pt.c:25352
#, gcc-internal-format
msgid "ISO C++ 1998 forbids the use of %<extern%> on explicit instantiations"
msgstr ""
-#: cp/pt.c:25197 cp/pt.c:25274
+#: cp/pt.c:25290 cp/pt.c:25367
#, gcc-internal-format
msgid "storage class %qD applied to template instantiation"
msgstr ""
-#: cp/pt.c:25231
+#: cp/pt.c:25324
#, gcc-internal-format
msgid "explicit instantiation of non-class template %qD"
msgstr ""
-#: cp/pt.c:25234
+#: cp/pt.c:25327
#, gcc-internal-format
msgid "explicit instantiation of non-template type %qT"
msgstr ""
-#: cp/pt.c:25243
+#: cp/pt.c:25336
#, gcc-internal-format
msgid "explicit instantiation of %q#T before definition of template"
msgstr ""
-#: cp/pt.c:25264
+#: cp/pt.c:25357
#, gcc-internal-format
msgid "ISO C++ forbids the use of %qE on explicit instantiations"
msgstr ""
-#: cp/pt.c:25304
+#: cp/pt.c:25397
#, gcc-internal-format
msgid "duplicate explicit instantiation of %q#T"
msgstr ""
-#: cp/pt.c:25647
+#: cp/pt.c:25691
#, gcc-internal-format
msgid "exception specification of %qD depends on itself"
msgstr ""
@@ -59111,12 +59163,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.c:26148
+#: cp/pt.c:26192
#, gcc-internal-format
msgid "explicit instantiation of %qD but no definition available"
msgstr ""
-#: cp/pt.c:26196
+#: cp/pt.c:26240
#, gcc-internal-format
msgid ""
"template instantiation depth exceeds maximum of %d instantiating %q+D, "
@@ -59124,160 +59176,160 @@ msgid ""
"increase the maximum)"
msgstr ""
-#: cp/pt.c:26562
+#: cp/pt.c:26606
#, 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.c:26592
+#: cp/pt.c:26636
#, gcc-internal-format
msgid ""
"%qT is not a valid type for a template non-type parameter because it is not "
"structural"
msgstr ""
-#: cp/pt.c:26601
+#: cp/pt.c:26645
#, gcc-internal-format
msgid ""
"non-type template parameters of class type only available with %<-std=c+"
"+20%> or %<-std=gnu++20%>"
msgstr ""
-#: cp/pt.c:26609
+#: cp/pt.c:26653
#, gcc-internal-format
msgid "invalid template non-type parameter"
msgstr ""
-#: cp/pt.c:26611
+#: cp/pt.c:26655
#, gcc-internal-format
msgid "%q#T is not a valid type for a template non-type parameter"
msgstr ""
-#: cp/pt.c:27965
+#: cp/pt.c:28009
#, gcc-internal-format
msgid "keyword %<template%> not allowed in declarator-id"
msgstr ""
-#: cp/pt.c:28246
+#: cp/pt.c:28295
#, gcc-internal-format
msgid "a concept cannot be constrained"
msgstr ""
-#: cp/pt.c:28255
+#: cp/pt.c:28304
#, gcc-internal-format
msgid "concept %qE not in namespace scope"
msgstr ""
-#: cp/pt.c:28282
+#: cp/pt.c:28331
#, gcc-internal-format
msgid ""
"deducing from brace-enclosed initializer list requires %<#include "
"<initializer_list>%>"
msgstr ""
-#: cp/pt.c:29286
+#: cp/pt.c:29354
#, gcc-internal-format
msgid "non-deducible template %qT used without template arguments"
msgstr ""
-#: cp/pt.c:29293
+#: cp/pt.c:29360
#, gcc-internal-format
msgid ""
"alias template deduction only available with %<-std=c++20%> or %<-std=gnu+"
"+20%>"
msgstr ""
-#: cp/pt.c:29395
+#: cp/pt.c:29463
#, 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.c:29402
+#: cp/pt.c:29470
#, gcc-internal-format
msgid ""
"cannot deduce template arguments of %qT, as it has no viable deduction guides"
msgstr ""
-#: cp/pt.c:29418
+#: cp/pt.c:29486
#, gcc-internal-format
msgid "class template argument deduction failed:"
msgstr ""
-#: cp/pt.c:29426
+#: cp/pt.c:29494
#, gcc-internal-format
msgid "explicit deduction guides not considered for copy-initialization"
msgstr ""
#. TODO: Pass down location from cp_finish_decl.
-#: cp/pt.c:29441
+#: cp/pt.c:29509
#, gcc-internal-format
msgid ""
"class template argument deduction for %qT failed: explicit deduction guide "
"selected in copy-list-initialization"
msgstr ""
-#: cp/pt.c:29445
+#: cp/pt.c:29513
#, gcc-internal-format
msgid "explicit deduction guide declared here"
msgstr ""
-#: cp/pt.c:29461
+#: cp/pt.c:29529
#, gcc-internal-format
msgid "%qT may not intend to support class template argument deduction"
msgstr ""
-#: cp/pt.c:29463
+#: cp/pt.c:29531
#, gcc-internal-format
msgid "add a deduction guide to suppress this warning"
msgstr ""
-#: cp/pt.c:29529
+#: cp/pt.c:29595
#, gcc-internal-format
msgid "direct-list-initialization of %<auto%> requires exactly one element"
msgstr ""
-#: cp/pt.c:29532
+#: cp/pt.c:29598
#, gcc-internal-format
msgid ""
"for deduction to %<std::initializer_list%>, use copy-list-initialization (i."
"e. add %<=%> before the %<{%>)"
msgstr ""
-#: cp/pt.c:29627
+#: cp/pt.c:29696
#, gcc-internal-format
msgid "unable to deduce lambda return type from %qE"
msgstr ""
-#: cp/pt.c:29629
+#: cp/pt.c:29698
#, gcc-internal-format
msgid "unable to deduce %qT from %qE"
msgstr ""
-#: cp/pt.c:29686
+#: cp/pt.c:29758
#, gcc-internal-format
msgid "placeholder constraints not satisfied"
msgstr ""
-#: cp/pt.c:29690
+#: cp/pt.c:29762
#, gcc-internal-format
msgid "deduced initializer does not satisfy placeholder constraints"
msgstr ""
-#: cp/pt.c:29694
+#: cp/pt.c:29766
#, gcc-internal-format
msgid "deduced return type does not satisfy placeholder constraints"
msgstr ""
-#: cp/pt.c:29698
+#: cp/pt.c:29770
#, gcc-internal-format
msgid "deduced expression type does not satisfy placeholder constraints"
msgstr ""
-#: cp/pt.c:29834
+#: cp/pt.c:29906
#, gcc-internal-format
msgid "invalid use of %qT in template argument"
msgstr ""
@@ -59414,547 +59466,547 @@ msgstr ""
msgid " since %q+#D declared in base class"
msgstr ""
-#: cp/semantics.c:937
+#: cp/semantics.c:956
#, gcc-internal-format
msgid "%qs always evaluates to true in %<if constexpr%>"
msgstr ""
-#: cp/semantics.c:1085
+#: cp/semantics.c:1104
#, gcc-internal-format
msgid "suggest explicit braces around empty body in %<do%> statement"
msgstr ""
-#: cp/semantics.c:1603
+#: cp/semantics.c:1622
#, gcc-internal-format
msgid "catching polymorphic type %q#T by value"
msgstr ""
-#: cp/semantics.c:1608
+#: cp/semantics.c:1627
#, gcc-internal-format
msgid "catching type %q#T by value"
msgstr ""
-#: cp/semantics.c:1613
+#: cp/semantics.c:1632
#, gcc-internal-format
msgid "catching non-reference type %q#T"
msgstr ""
-#: cp/semantics.c:1823
+#: cp/semantics.c:1842
#, gcc-internal-format
msgid "type of %<asm%> operand %qE could not be determined"
msgstr ""
-#: cp/semantics.c:1905
+#: cp/semantics.c:1924
#, gcc-internal-format
msgid "%<__label__%> declarations are only allowed in function scopes"
msgstr ""
-#: cp/semantics.c:2090
+#: cp/semantics.c:2109
#, gcc-internal-format
msgid "invalid use of member %qD in static member function"
msgstr ""
-#: cp/semantics.c:2337
+#: cp/semantics.c:2356
#, gcc-internal-format
msgid "%qE missing template arguments"
msgstr ""
-#: cp/semantics.c:2397
+#: cp/semantics.c:2416
#, gcc-internal-format
msgid ""
"a statement expression is an insufficient context for overload resolution"
msgstr ""
-#: cp/semantics.c:2749
+#: cp/semantics.c:2768
#, gcc-internal-format
msgid "cannot call a concept as a function"
msgstr ""
-#: cp/semantics.c:2817
+#: cp/semantics.c:2836
#, gcc-internal-format
msgid "arguments to destructor are not allowed"
msgstr ""
-#: cp/semantics.c:2899
+#: cp/semantics.c:2918
#, gcc-internal-format
msgid "%<this%> is unavailable for static member functions"
msgstr ""
-#: cp/semantics.c:2901
+#: cp/semantics.c:2920
#, gcc-internal-format
msgid "invalid use of %<this%> in non-member function"
msgstr ""
-#: cp/semantics.c:2903
+#: cp/semantics.c:2922
#, gcc-internal-format
msgid "invalid use of %<this%> at top level"
msgstr ""
-#: cp/semantics.c:2925
+#: cp/semantics.c:2944
#, gcc-internal-format
msgid "invalid qualifying scope in pseudo-destructor name"
msgstr ""
-#: cp/semantics.c:2933 cp/typeck.c:2763
+#: cp/semantics.c:2952 cp/typeck.c:2774
#, gcc-internal-format
msgid "qualified type %qT does not match destructor name ~%qT"
msgstr ""
-#: cp/semantics.c:2955
+#: cp/semantics.c:2974
#, gcc-internal-format
msgid "%qE is not of type %qT"
msgstr ""
-#: cp/semantics.c:3035
+#: cp/semantics.c:3054
#, gcc-internal-format
msgid "compound literal of non-object type %qT"
msgstr ""
-#: cp/semantics.c:3215
+#: cp/semantics.c:3233
#, gcc-internal-format
msgid "template type parameters must use the keyword %<class%> or %<typename%>"
msgstr ""
-#: cp/semantics.c:3265
+#: cp/semantics.c:3283
#, gcc-internal-format
msgid ""
"invalid use of type %qT as a default value for a template template-parameter"
msgstr ""
-#: cp/semantics.c:3268
+#: cp/semantics.c:3286
#, gcc-internal-format
msgid "invalid default argument for a template template parameter"
msgstr ""
-#: cp/semantics.c:3285
+#: cp/semantics.c:3303
#, gcc-internal-format
msgid "definition of %q#T inside template parameter list"
msgstr ""
-#: cp/semantics.c:3316
+#: cp/semantics.c:3334
#, gcc-internal-format
msgid "invalid definition of qualified type %qT"
msgstr ""
-#: cp/semantics.c:3599
+#: cp/semantics.c:3617
#, gcc-internal-format
msgid "invalid base-class specification"
msgstr ""
-#: cp/semantics.c:3762
+#: cp/semantics.c:3780
#, gcc-internal-format
msgid "cannot capture member %qD of anonymous union"
msgstr ""
-#: cp/semantics.c:3779 cp/semantics.c:10726
+#: cp/semantics.c:3797 cp/semantics.c:10754
#, gcc-internal-format
msgid "%qD is not captured"
msgstr ""
-#: cp/semantics.c:3783
+#: cp/semantics.c:3801
#, gcc-internal-format
msgid "the lambda has no capture-default"
msgstr ""
-#: cp/semantics.c:3785
+#: cp/semantics.c:3803
#, gcc-internal-format
msgid ""
"lambda in local class %q+T cannot capture variables from the enclosing "
"context"
msgstr ""
-#: cp/semantics.c:3797
+#: cp/semantics.c:3815
#, gcc-internal-format
msgid "use of local variable with automatic storage from containing function"
msgstr ""
-#: cp/semantics.c:3799
+#: cp/semantics.c:3817
#, gcc-internal-format
msgid "use of parameter from containing function"
msgstr ""
-#: cp/semantics.c:3926
+#: cp/semantics.c:3944
#, gcc-internal-format
msgid "use of parameter outside function body"
msgstr ""
-#: cp/semantics.c:3936
+#: cp/semantics.c:3954
#, gcc-internal-format
msgid "missing template arguments"
msgstr ""
-#: cp/semantics.c:3972
+#: cp/semantics.c:3990
#, 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.c:4003
+#: cp/semantics.c:4021
#, gcc-internal-format
msgid "use of class template %qT as expression"
msgstr ""
#. Ambiguous reference to base members.
-#: cp/semantics.c:4010
+#: cp/semantics.c:4028
#, gcc-internal-format
msgid "request for member %qD is ambiguous in multiple inheritance lattice"
msgstr ""
-#: cp/semantics.c:4038
+#: cp/semantics.c:4056
#, gcc-internal-format
msgid "%qD cannot appear in a constant-expression"
msgstr ""
-#: cp/semantics.c:4215
+#: cp/semantics.c:4243
#, gcc-internal-format
msgid "type of %qE is unknown"
msgstr ""
-#: cp/semantics.c:4244
+#: cp/semantics.c:4272
#, gcc-internal-format
msgid "%qT is not an enumeration type"
msgstr ""
#. Parameter packs can only be used in templates
-#: cp/semantics.c:4378
+#: cp/semantics.c:4406
#, gcc-internal-format
msgid "parameter pack %<__bases%> only valid in template declaration"
msgstr ""
-#: cp/semantics.c:4410
+#: cp/semantics.c:4438
#, gcc-internal-format
msgid "cannot apply %<offsetof%> to destructor %<~%T%>"
msgstr ""
-#: cp/semantics.c:4423
+#: cp/semantics.c:4451
#, gcc-internal-format
msgid "cannot apply %<offsetof%> to member function %qD"
msgstr ""
-#: cp/semantics.c:4427
+#: cp/semantics.c:4455
#, gcc-internal-format
msgid "cannot apply %<offsetof%> to member function"
msgstr ""
-#: cp/semantics.c:4432
+#: cp/semantics.c:4460
#, gcc-internal-format
msgid "cannot apply %<offsetof%> to an enumerator %qD"
msgstr ""
-#: cp/semantics.c:4443
+#: cp/semantics.c:4471
#, gcc-internal-format
msgid ""
"%<offsetof%> within non-standard-layout type %qT is conditionally-supported"
msgstr ""
-#: cp/semantics.c:4970 cp/semantics.c:6752 cp/semantics.c:6836
-#: cp/semantics.c:6887 cp/semantics.c:7229 cp/semantics.c:7450
-#: cp/semantics.c:7733 cp/semantics.c:8181
+#: cp/semantics.c:4998 cp/semantics.c:6780 cp/semantics.c:6864
+#: cp/semantics.c:6915 cp/semantics.c:7257 cp/semantics.c:7478
+#: cp/semantics.c:7761 cp/semantics.c:8209
#, gcc-internal-format
msgid "%<this%> allowed in OpenMP only in %<declare simd%> clauses"
msgstr ""
-#: cp/semantics.c:5716
+#: cp/semantics.c:5744
#, gcc-internal-format
msgid "user defined reduction lookup is ambiguous"
msgstr ""
-#: cp/semantics.c:5990
+#: cp/semantics.c:6018
#, gcc-internal-format
msgid "%qE in %<reduction%> clause is a zero size array"
msgstr ""
-#: cp/semantics.c:6040
+#: cp/semantics.c:6068
#, gcc-internal-format
msgid "%qE has const type for %<reduction%>"
msgstr ""
-#: cp/semantics.c:6159
+#: cp/semantics.c:6187
#, gcc-internal-format
msgid "user defined reduction with constructor initializer for base class %qT"
msgstr ""
-#: cp/semantics.c:6620
+#: cp/semantics.c:6648
#, gcc-internal-format
msgid ""
"linear clause with %qs modifier applied to non-reference variable with %qT "
"type"
msgstr ""
-#: cp/semantics.c:6635
+#: cp/semantics.c:6663
#, gcc-internal-format
msgid ""
"linear clause applied to non-integral non-pointer variable with %qT type"
msgstr ""
-#: cp/semantics.c:6659
+#: cp/semantics.c:6687
#, gcc-internal-format
msgid "linear step expression must be integral"
msgstr ""
-#: cp/semantics.c:6764 cp/semantics.c:8194
+#: cp/semantics.c:6792 cp/semantics.c:8222
#, gcc-internal-format
msgid "%qD is not a variable in clause %qs"
msgstr ""
-#: cp/semantics.c:6849
+#: cp/semantics.c:6877
#, gcc-internal-format
msgid "%qD is not a variable in clause %<firstprivate%>"
msgstr ""
-#: cp/semantics.c:6900
+#: cp/semantics.c:6928
#, gcc-internal-format
msgid "%qD is not a variable in clause %<lastprivate%>"
msgstr ""
-#: cp/semantics.c:6950
+#: cp/semantics.c:6978
#, gcc-internal-format
msgid "%<gang%> static expression must be integral"
msgstr ""
-#: cp/semantics.c:6964
+#: cp/semantics.c:6992
#, gcc-internal-format
msgid "%<gang%> static value must be positive"
msgstr ""
-#: cp/semantics.c:6998
+#: cp/semantics.c:7026
#, gcc-internal-format
msgid "%<gang%> num expression must be integral"
msgstr ""
-#: cp/semantics.c:7001
+#: cp/semantics.c:7029
#, gcc-internal-format
msgid "%<vector%> length expression must be integral"
msgstr ""
-#: cp/semantics.c:7005
+#: cp/semantics.c:7033
#, gcc-internal-format
msgid "%<worker%> num expression must be integral"
msgstr ""
-#: cp/semantics.c:7027
+#: cp/semantics.c:7055
#, gcc-internal-format
msgid "%<gang%> num value must be positive"
msgstr ""
-#: cp/semantics.c:7031
+#: cp/semantics.c:7059
#, gcc-internal-format
msgid "%<vector%> length value must be positive"
msgstr ""
-#: cp/semantics.c:7036
+#: cp/semantics.c:7064
#, gcc-internal-format
msgid "%<worker%> num value must be positive"
msgstr ""
-#: cp/semantics.c:7063
+#: cp/semantics.c:7091
#, gcc-internal-format
msgid "schedule chunk size expression must be integral"
msgstr ""
-#: cp/semantics.c:7096
+#: cp/semantics.c:7124
#, gcc-internal-format
msgid "%qs length expression must be integral"
msgstr ""
-#: cp/semantics.c:7110
+#: cp/semantics.c:7138
#, gcc-internal-format
msgid "%qs length expression must be positive constant integer expression"
msgstr ""
-#: cp/semantics.c:7130
+#: cp/semantics.c:7158
#, gcc-internal-format
msgid "%<async%> expression must be integral"
msgstr ""
-#: cp/semantics.c:7159
+#: cp/semantics.c:7187
#, gcc-internal-format
msgid "%<thread_limit%> expression must be integral"
msgstr ""
-#: cp/semantics.c:7189
+#: cp/semantics.c:7217
#, gcc-internal-format
msgid "%<device%> id must be integral"
msgstr ""
-#: cp/semantics.c:7211
+#: cp/semantics.c:7239
#, gcc-internal-format
msgid "%<dist_schedule%> chunk size expression must be integral"
msgstr ""
-#: cp/semantics.c:7240
+#: cp/semantics.c:7268
#, gcc-internal-format
msgid "%qD is not a variable in %<aligned%> clause"
msgstr ""
-#: cp/semantics.c:7255
+#: cp/semantics.c:7283
#, 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.c:7262
+#: cp/semantics.c:7290
#, gcc-internal-format
msgid "%qD appears more than once in %<aligned%> clauses"
msgstr ""
-#: cp/semantics.c:7277
+#: cp/semantics.c:7305
#, gcc-internal-format
msgid "%<aligned%> clause alignment expression must be integral"
msgstr ""
-#: cp/semantics.c:7310
+#: cp/semantics.c:7338
#, gcc-internal-format
msgid "%qD is not a variable in %<nontemporal%> clause"
msgstr ""
-#: cp/semantics.c:7321
+#: cp/semantics.c:7349
#, gcc-internal-format
msgid "%qD appears more than once in %<nontemporal%> clauses"
msgstr ""
-#: cp/semantics.c:7338
+#: cp/semantics.c:7366
#, gcc-internal-format
msgid "%<this%> not allowed in %<allocate%> clause"
msgstr ""
-#: cp/semantics.c:7350
+#: cp/semantics.c:7378
#, gcc-internal-format
msgid "%qD is not a variable in %<allocate%> clause"
msgstr ""
-#: cp/semantics.c:7359
+#: cp/semantics.c:7387
#, gcc-internal-format
msgid "%qD appears more than once in %<allocate%> clauses"
msgstr ""
-#: cp/semantics.c:7460
+#: cp/semantics.c:7488
#, gcc-internal-format
msgid "%qD is not lvalue expression nor array section in %<depend%> clause"
msgstr ""
-#: cp/semantics.c:7886
+#: cp/semantics.c:7914
#, gcc-internal-format
msgid "template %qE in clause %qs"
msgstr ""
-#: cp/semantics.c:7890
+#: cp/semantics.c:7918
#, gcc-internal-format
msgid "overloaded function name %qE in clause %qs"
msgstr ""
-#: cp/semantics.c:7959
+#: cp/semantics.c:7987
#, gcc-internal-format
msgid "%<grainsize%> expression must be integral"
msgstr ""
-#: cp/semantics.c:7989
+#: cp/semantics.c:8017
#, gcc-internal-format
msgid "%<priority%> expression must be integral"
msgstr ""
-#: cp/semantics.c:8019
+#: cp/semantics.c:8047
#, gcc-internal-format
msgid "%<hint%> expression must be integral"
msgstr ""
-#: cp/semantics.c:8032
+#: cp/semantics.c:8060
#, gcc-internal-format
msgid "%<hint%> expression must be constant integer expression"
msgstr ""
-#: cp/semantics.c:8055
+#: cp/semantics.c:8083
#, gcc-internal-format
msgid "%qs variable is neither a pointer nor reference to pointer"
msgstr ""
-#: cp/semantics.c:8065
+#: cp/semantics.c:8093
#, gcc-internal-format
msgid ""
"%qs variable is neither a pointer, nor an array nor reference to pointer or "
"array"
msgstr ""
-#: cp/semantics.c:8122
+#: cp/semantics.c:8150
#, gcc-internal-format
msgid "%<tile%> argument needs integral type"
msgstr ""
-#: cp/semantics.c:8511
+#: cp/semantics.c:8539
#, gcc-internal-format
msgid ""
"%<const%> qualified %qE without %<mutable%> member may appear only in "
"%<shared%> or %<firstprivate%> clauses"
msgstr ""
-#: cp/semantics.c:8738
+#: cp/semantics.c:8766
#, gcc-internal-format
msgid "%<threadprivate%> %qD is not file, namespace or block scope variable"
msgstr ""
-#: cp/semantics.c:8752
+#: cp/semantics.c:8780
#, gcc-internal-format
msgid "%<threadprivate%> %qE directive not in %qT definition"
msgstr ""
-#: cp/semantics.c:8949
+#: cp/semantics.c:8977
#, gcc-internal-format
msgid "difference between %qE and %qD does not have integer type"
msgstr ""
-#: cp/semantics.c:9415
+#: cp/semantics.c:9443
#, gcc-internal-format
msgid "%<#pragma omp simd%> used with class iteration variable %qE"
msgstr ""
-#: cp/semantics.c:9718 cp/semantics.c:9728
+#: cp/semantics.c:9746 cp/semantics.c:9756
#, gcc-internal-format
msgid "%<#pragma omp atomic update%> uses two different expressions for memory"
msgstr ""
-#: cp/semantics.c:10133
+#: cp/semantics.c:10161
#, gcc-internal-format, gfc-internal-format
msgid "static assertion failed: %s"
msgstr ""
-#: cp/semantics.c:10136
+#: cp/semantics.c:10164
#, gcc-internal-format
msgid "%qE evaluates to false"
msgstr ""
-#: cp/semantics.c:10148
+#: cp/semantics.c:10176
#, gcc-internal-format
msgid "non-constant condition for static assertion"
msgstr ""
-#: cp/semantics.c:10177
+#: cp/semantics.c:10205
#, gcc-internal-format
msgid "argument to %<decltype%> must be an expression"
msgstr ""
-#: cp/semantics.c:10214
+#: cp/semantics.c:10242
#, gcc-internal-format
msgid "%<decltype%> cannot resolve address of overloaded function"
msgstr ""
-#: cp/semantics.c:10765
+#: cp/semantics.c:10793
#, gcc-internal-format
msgid "operand of fold expression has no unexpanded parameter packs"
msgstr ""
-#: cp/semantics.c:10818
+#: cp/semantics.c:10846
#, gcc-internal-format
msgid "both arguments in binary fold have unexpanded parameter packs"
msgstr ""
-#: cp/semantics.c:10820
+#: cp/semantics.c:10848
#, gcc-internal-format
msgid "no unexpanded parameter packs in binary fold"
msgstr ""
-#: cp/semantics.c:10838
+#: cp/semantics.c:10866
#, gcc-internal-format
msgid "non-pointer argument to %<__builtin_launder%>"
msgstr ""
@@ -59962,22 +60014,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.c:10887
+#: cp/semantics.c:10915
#, gcc-internal-format
msgid "%<__builtin_bit_cast%> destination type %qT is an array type"
msgstr ""
-#: cp/semantics.c:10893
+#: cp/semantics.c:10921
#, gcc-internal-format
msgid "%<__builtin_bit_cast%> destination type %qT is not trivially copyable"
msgstr ""
-#: cp/semantics.c:10920
+#: cp/semantics.c:10948
#, gcc-internal-format
msgid "%<__builtin_bit_cast%> source type %qT is not trivially copyable"
msgstr ""
-#: cp/semantics.c:10928
+#: cp/semantics.c:10956
#, gcc-internal-format
msgid ""
"%<__builtin_bit_cast%> source size %qE not equal to destination type size %qE"
@@ -59988,668 +60040,668 @@ msgstr ""
msgid "%qV qualifiers cannot be applied to %qT"
msgstr ""
-#: cp/tree.c:1934
+#: cp/tree.c:1943
#, gcc-internal-format
msgid "statement-expression in a constant expression"
msgstr ""
-#: cp/tree.c:4249
+#: cp/tree.c:4300
#, gcc-internal-format
msgid ""
"%<-fabi-version=13%> (GCC 8.2) fixes the calling convention for %qT, which "
"was accidentally changed in 8.1"
msgstr ""
-#: cp/tree.c:4253
+#: cp/tree.c:4304
#, gcc-internal-format
msgid ""
"%<-fabi-version=12%> (GCC 8.1) accidentally changes the calling convention "
"for %qT"
msgstr ""
-#: cp/tree.c:4256
+#: cp/tree.c:4307
#, gcc-internal-format
msgid " declared here"
msgstr ""
-#: cp/tree.c:4261
+#: cp/tree.c:4312
#, gcc-internal-format
msgid ""
"the calling convention for %qT changes in %<-fabi-version=13%> (GCC 8.2)"
msgstr ""
-#: cp/tree.c:4263
+#: cp/tree.c:4314
#, gcc-internal-format
msgid " because all of its copy and move constructors are deleted"
msgstr ""
-#: cp/tree.c:4684
+#: cp/tree.c:4745
#, gcc-internal-format
msgid "base class %qT is not public"
msgstr ""
-#: cp/tree.c:4687
+#: cp/tree.c:4748
#, gcc-internal-format
msgid "%qD is not public"
msgstr ""
-#: cp/tree.c:4694
+#: cp/tree.c:4755
#, gcc-internal-format
msgid "%qD is mutable"
msgstr ""
-#: cp/tree.c:4702
+#: cp/tree.c:4763
#, gcc-internal-format
msgid "%qD has a non-structural type"
msgstr ""
-#: cp/tree.c:4720
+#: cp/tree.c:4781
#, gcc-internal-format
msgid "%qE attribute argument must be a string constant"
msgstr ""
-#: cp/tree.c:4735
+#: cp/tree.c:4796
#, gcc-internal-format
msgid ""
"%qE attribute can only be applied to functions or to class or enumeration "
"types"
msgstr ""
-#: cp/tree.c:4753
+#: cp/tree.c:4814
#, gcc-internal-format
msgid "%qE attribute can only be applied to non-static data members"
msgstr ""
-#: cp/tree.c:4759
+#: cp/tree.c:4820
#, gcc-internal-format
msgid "%qE attribute cannot be applied to a bit-field"
msgstr ""
-#: cp/tree.c:4779
+#: cp/tree.c:4840
#, gcc-internal-format
msgid "%qE attribute takes no arguments"
msgstr ""
-#: cp/tree.c:4783
+#: cp/tree.c:4844
#, gcc-internal-format
msgid ""
"ISO C++ %qE attribute does not apply to functions; treating as %<[[gnu::"
"%E]]%>"
msgstr ""
-#: cp/tree.c:4846
+#: cp/tree.c:4907
#, gcc-internal-format
msgid "requested %<init_priority%> is not an integer constant"
msgstr ""
-#: cp/tree.c:4868
+#: cp/tree.c:4929
#, gcc-internal-format
msgid ""
"can only use %qE attribute on file-scope definitions of objects of class type"
msgstr ""
-#: cp/tree.c:4876
+#: cp/tree.c:4937
#, gcc-internal-format
msgid "requested %<init_priority%> %i is out of range [0, %i]"
msgstr ""
-#: cp/tree.c:4887
+#: cp/tree.c:4948
#, gcc-internal-format
msgid "requested %<init_priority%> %i is reserved for internal use"
msgstr ""
-#: cp/tree.c:4899
+#: cp/tree.c:4960
#, gcc-internal-format
msgid "%qE attribute is not supported on this platform"
msgstr ""
-#: cp/tree.c:4926
+#: cp/tree.c:4987
#, gcc-internal-format
msgid "redeclaration of %qD adds abi tag %qE"
msgstr ""
-#: cp/tree.c:4946
+#: cp/tree.c:5007
#, gcc-internal-format
msgid "the %qE attribute requires arguments"
msgstr ""
-#: cp/tree.c:4957
+#: cp/tree.c:5018
#, gcc-internal-format
msgid "arguments to the %qE attribute must be narrow string literals"
msgstr ""
-#: cp/tree.c:4970 cp/tree.c:4983
+#: cp/tree.c:5031 cp/tree.c:5044
#, gcc-internal-format
msgid "arguments to the %qE attribute must contain valid identifiers"
msgstr ""
-#: cp/tree.c:4972
+#: cp/tree.c:5033
#, gcc-internal-format
msgid "%<%c%> is not a valid first character for an identifier"
msgstr ""
-#: cp/tree.c:4985
+#: cp/tree.c:5046
#, gcc-internal-format
msgid "%<%c%> is not a valid character in an identifier"
msgstr ""
-#: cp/tree.c:5009
+#: cp/tree.c:5070
#, gcc-internal-format
msgid "%qE attribute applied to non-class, non-enum type %qT"
msgstr ""
-#: cp/tree.c:5015
+#: cp/tree.c:5076
#, gcc-internal-format
msgid "%qE attribute applied to %qT after its definition"
msgstr ""
-#: cp/tree.c:5022
+#: cp/tree.c:5083
#, gcc-internal-format
msgid "ignoring %qE attribute applied to template instantiation %qT"
msgstr ""
-#: cp/tree.c:5029
+#: cp/tree.c:5090
#, gcc-internal-format
msgid "ignoring %qE attribute applied to template specialization %qT"
msgstr ""
-#: cp/tree.c:5051
+#: cp/tree.c:5112
#, gcc-internal-format
msgid "%qE attribute applied to non-function, non-variable %qD"
msgstr ""
-#: cp/tree.c:5057
+#: cp/tree.c:5118
#, gcc-internal-format
msgid "%qE attribute applied to extern \"C\" declaration %qD"
msgstr ""
-#: cp/tree.c:5937
+#: cp/tree.c:5998
#, gcc-internal-format
msgid "zero as null pointer constant"
msgstr ""
-#: cp/tree.c:5959
+#: cp/tree.c:6020
#, gcc-internal-format
msgid "%<lang_*%> check: failed in %s, at %s:%d"
msgstr ""
-#: cp/typeck.c:467
+#: cp/typeck.c:478
#, gcc-internal-format
msgid "comparison between distinct pointer types %qT and %qT lacks a cast"
msgstr ""
-#: cp/typeck.c:473
+#: cp/typeck.c:484
#, gcc-internal-format
msgid "conversion between distinct pointer types %qT and %qT lacks a cast"
msgstr ""
-#: cp/typeck.c:479
+#: cp/typeck.c:490
#, gcc-internal-format
msgid ""
"conditional expression between distinct pointer types %qT and %qT lacks a "
"cast"
msgstr ""
-#: cp/typeck.c:627
+#: cp/typeck.c:638
#, gcc-internal-format
msgid ""
"ISO C++ forbids comparison between pointer of type %<void *%> and pointer-to-"
"function"
msgstr ""
-#: cp/typeck.c:632
+#: cp/typeck.c:643
#, gcc-internal-format
msgid ""
"ISO C++ forbids conversion between pointer of type %<void *%> and pointer-to-"
"function"
msgstr ""
-#: cp/typeck.c:637
+#: cp/typeck.c:648
#, gcc-internal-format
msgid ""
"ISO C++ forbids conditional expression between pointer of type %<void *%> "
"and pointer-to-function"
msgstr ""
-#: cp/typeck.c:716
+#: cp/typeck.c:727
#, gcc-internal-format
msgid ""
"comparison between distinct pointer-to-member types %qT and %qT lacks a cast"
msgstr ""
-#: cp/typeck.c:721
+#: cp/typeck.c:732
#, gcc-internal-format
msgid ""
"conversion between distinct pointer-to-member types %qT and %qT lacks a cast"
msgstr ""
-#: cp/typeck.c:726
+#: cp/typeck.c:737
#, gcc-internal-format
msgid ""
"conditional expression between distinct pointer-to-member types %qT and %qT "
"lacks a cast"
msgstr ""
-#: cp/typeck.c:1547
+#: cp/typeck.c:1558
#, gcc-internal-format
msgid "canonical types differ for identical types %qT and %qT"
msgstr ""
-#: cp/typeck.c:1554
+#: cp/typeck.c:1565
#, gcc-internal-format
msgid "same canonical type node for different types %qT and %qT"
msgstr ""
-#: cp/typeck.c:1714
+#: cp/typeck.c:1725
#, gcc-internal-format
msgid "invalid application of %qs to a member function"
msgstr ""
-#: cp/typeck.c:1812
+#: cp/typeck.c:1823
#, gcc-internal-format
msgid "invalid application of %<sizeof%> to a bit-field"
msgstr ""
-#: cp/typeck.c:1820
+#: cp/typeck.c:1831
#, gcc-internal-format
msgid "ISO C++ forbids applying %<sizeof%> to an expression of function type"
msgstr ""
-#: cp/typeck.c:1885
+#: cp/typeck.c:1896
#, gcc-internal-format
msgid "invalid application of %<__alignof%> to a bit-field"
msgstr ""
-#: cp/typeck.c:1896
+#: cp/typeck.c:1907
#, gcc-internal-format
msgid ""
"ISO C++ forbids applying %<__alignof%> to an expression of function type"
msgstr ""
-#: cp/typeck.c:1978
+#: cp/typeck.c:1989
#, gcc-internal-format
msgid "%<alignas%> argument has non-integral type %qT"
msgstr ""
-#: cp/typeck.c:2023
+#: cp/typeck.c:2034
#, gcc-internal-format
msgid "invalid use of non-static member function of type %qT"
msgstr ""
-#: cp/typeck.c:2191
+#: cp/typeck.c:2202
#, gcc-internal-format
msgid "taking address of temporary array"
msgstr ""
-#: cp/typeck.c:2373
+#: cp/typeck.c:2384
#, gcc-internal-format
msgid "ISO C++ forbids converting a string constant to %qT"
msgstr ""
-#: cp/typeck.c:2377
+#: cp/typeck.c:2388
#, gcc-internal-format
msgid "deprecated conversion from string constant to %qT"
msgstr ""
-#: cp/typeck.c:2513 cp/typeck.c:3078
+#: cp/typeck.c:2524 cp/typeck.c:3089
#, gcc-internal-format
msgid ""
"request for member %qD in %qE, which is of pointer type %qT (maybe you meant "
"to use %<->%> ?)"
msgstr ""
-#: cp/typeck.c:2517 cp/typeck.c:3082
+#: cp/typeck.c:2528 cp/typeck.c:3093
#, gcc-internal-format
msgid "request for member %qD in %qE, which is of non-class type %qT"
msgstr ""
-#: cp/typeck.c:2548
+#: cp/typeck.c:2559
#, gcc-internal-format
msgid "invalid use of non-static data member %qE"
msgstr ""
-#: cp/typeck.c:2628
+#: cp/typeck.c:2639
#, gcc-internal-format
msgid ""
"invalid access to non-static data member %qD in virtual base of NULL object"
msgstr ""
-#: cp/typeck.c:2778
+#: cp/typeck.c:2789
#, gcc-internal-format
msgid "object type %qT does not match destructor name ~%qT"
msgstr ""
-#: cp/typeck.c:2787
+#: cp/typeck.c:2798
#, gcc-internal-format
msgid "the type being destroyed is %qT, but the destructor refers to %qT"
msgstr ""
-#: cp/typeck.c:2929
+#: cp/typeck.c:2940
#, gcc-internal-format
msgid "field %q#D can be accessed via %q#D"
msgstr ""
#. No hint.
-#: cp/typeck.c:2948
+#: cp/typeck.c:2959
#, gcc-internal-format
msgid "%q#T has no member named %qE"
msgstr ""
-#: cp/typeck.c:2971
+#: cp/typeck.c:2982
#, gcc-internal-format
msgid "%q#T has no member named %qE; did you mean %q#D? (accessible via %q#D)"
msgstr ""
-#: cp/typeck.c:2982
+#: cp/typeck.c:2993
#, gcc-internal-format
msgid ""
"%q#T has no member named %qE; did you mean %q#D? (not accessible from this "
"context)"
msgstr ""
-#: cp/typeck.c:2997
+#: cp/typeck.c:3008
#, gcc-internal-format
msgid "%q#T has no member named %qE; did you mean %qE?"
msgstr ""
-#: cp/typeck.c:3112 cp/typeck.c:3138
+#: cp/typeck.c:3123 cp/typeck.c:3149
#, gcc-internal-format
msgid "%<%D::%D%> is not a member of %qT"
msgstr ""
-#: cp/typeck.c:3177
+#: cp/typeck.c:3188
#, gcc-internal-format
msgid "%qT is not a base of %qT"
msgstr ""
-#: cp/typeck.c:3230
+#: cp/typeck.c:3241
#, gcc-internal-format
msgid "%qD is not a member template function"
msgstr ""
-#: cp/typeck.c:3433
+#: cp/typeck.c:3444
#, gcc-internal-format
msgid "%qT is not a pointer-to-object type"
msgstr ""
-#: cp/typeck.c:3465
+#: cp/typeck.c:3476
#, gcc-internal-format
msgid "invalid use of array indexing on pointer to member"
msgstr ""
-#: cp/typeck.c:3468
+#: cp/typeck.c:3479
#, gcc-internal-format
msgid "invalid use of unary %<*%> on pointer to member"
msgstr ""
-#: cp/typeck.c:3471
+#: cp/typeck.c:3482
#, gcc-internal-format
msgid "invalid use of implicit conversion on pointer to member"
msgstr ""
-#: cp/typeck.c:3475
+#: cp/typeck.c:3486
#, gcc-internal-format
msgid ""
"left hand operand of %<->*%> must be a pointer to class, but is a pointer to "
"member of type %qT"
msgstr ""
-#: cp/typeck.c:3540
+#: cp/typeck.c:3551
#, gcc-internal-format
msgid "subscript missing in array reference"
msgstr ""
-#: cp/typeck.c:3637
+#: cp/typeck.c:3648
#, gcc-internal-format
msgid "subscripting array declared %<register%>"
msgstr ""
-#: cp/typeck.c:3675
+#: cp/typeck.c:3686
#, gcc-internal-format
msgid "subscripted value is neither array nor pointer"
msgstr ""
-#: cp/typeck.c:3747
+#: cp/typeck.c:3758
#, gcc-internal-format
msgid "object missing in use of %qE"
msgstr ""
-#: cp/typeck.c:3972
+#: cp/typeck.c:3983
#, gcc-internal-format
msgid "ISO C++ forbids calling %<::main%> from within program"
msgstr ""
-#: cp/typeck.c:3993
+#: cp/typeck.c:4004
#, gcc-internal-format
msgid ""
"must use %<.*%> or %<->*%> to call pointer-to-member function in %<%E "
"(...)%>, e.g. %<(... ->* %E) (...)%>"
msgstr ""
-#: cp/typeck.c:4010
+#: cp/typeck.c:4021
#, gcc-internal-format
msgid "%qE cannot be used as a function"
msgstr ""
-#: cp/typeck.c:4013
+#: cp/typeck.c:4024
#, gcc-internal-format
msgid "%qD cannot be used as a function"
msgstr ""
-#: cp/typeck.c:4016
+#: cp/typeck.c:4027
#, gcc-internal-format
msgid "expression cannot be used as a function"
msgstr ""
-#: cp/typeck.c:4074
+#: cp/typeck.c:4085
#, gcc-internal-format
msgid "too many arguments to constructor %q#D"
msgstr ""
-#: cp/typeck.c:4075
+#: cp/typeck.c:4086
#, gcc-internal-format
msgid "too few arguments to constructor %q#D"
msgstr ""
-#: cp/typeck.c:4080
+#: cp/typeck.c:4091
#, gcc-internal-format
msgid "too many arguments to member function %q#D"
msgstr ""
-#: cp/typeck.c:4081
+#: cp/typeck.c:4092
#, gcc-internal-format
msgid "too few arguments to member function %q#D"
msgstr ""
-#: cp/typeck.c:4087
+#: cp/typeck.c:4098
#, gcc-internal-format
msgid "too many arguments to function %q#D"
msgstr ""
-#: cp/typeck.c:4088
+#: cp/typeck.c:4099
#, gcc-internal-format
msgid "too few arguments to function %q#D"
msgstr ""
-#: cp/typeck.c:4098
+#: cp/typeck.c:4109
#, gcc-internal-format
msgid "too many arguments to method %q#D"
msgstr ""
-#: cp/typeck.c:4099
+#: cp/typeck.c:4110
#, gcc-internal-format
msgid "too few arguments to method %q#D"
msgstr ""
-#: cp/typeck.c:4102
+#: cp/typeck.c:4113
#, gcc-internal-format
msgid "too many arguments to function"
msgstr ""
-#: cp/typeck.c:4103
+#: cp/typeck.c:4114
#, gcc-internal-format
msgid "too few arguments to function"
msgstr ""
-#: cp/typeck.c:4185
+#: cp/typeck.c:4196
#, gcc-internal-format
msgid "parameter %P of %qD has incomplete type %qT"
msgstr ""
-#: cp/typeck.c:4191
+#: cp/typeck.c:4202
#, gcc-internal-format
msgid "parameter %P has incomplete type %qT"
msgstr ""
-#: cp/typeck.c:4440
+#: cp/typeck.c:4451
#, gcc-internal-format
msgid "the address of %qD will never be NULL"
msgstr ""
-#: cp/typeck.c:4451
+#: cp/typeck.c:4462
#, gcc-internal-format
msgid "the compiler can assume that the address of %qD will never be NULL"
msgstr ""
-#: cp/typeck.c:4497
+#: cp/typeck.c:4508
#, gcc-internal-format
msgid ""
"bitwise operation between different enumeration types %qT and %qT is "
"deprecated"
msgstr ""
-#: cp/typeck.c:4502
+#: cp/typeck.c:4513
#, gcc-internal-format
msgid ""
"arithmetic between different enumeration types %qT and %qT is deprecated"
msgstr ""
-#: cp/typeck.c:4532
+#: cp/typeck.c:4543
#, gcc-internal-format
msgid ""
"comparison of enumeration type %qT with floating-point type %qT is deprecated"
msgstr ""
-#: cp/typeck.c:4536
+#: cp/typeck.c:4547
#, gcc-internal-format
msgid ""
"comparison of floating-point type %qT with enumeration type %qT is deprecated"
msgstr ""
-#: cp/typeck.c:4545
+#: cp/typeck.c:4556
#, gcc-internal-format
msgid ""
"arithmetic between enumeration type %qT and floating-point type %qT is "
"deprecated"
msgstr ""
-#: cp/typeck.c:4549
+#: cp/typeck.c:4560
#, gcc-internal-format
msgid ""
"arithmetic between floating-point type %qT and enumeration type %qT is "
"deprecated"
msgstr ""
-#: cp/typeck.c:4675 cp/typeck.c:4687
+#: cp/typeck.c:4686 cp/typeck.c:4698
#, gcc-internal-format
msgid "assuming cast to type %qT from overloaded function"
msgstr ""
-#: cp/typeck.c:4733
+#: cp/typeck.c:4744
#, gcc-internal-format
msgid "NULL used in arithmetic"
msgstr ""
-#: cp/typeck.c:5189 cp/typeck.c:5198 cp/typeck.c:5491 cp/typeck.c:5500
+#: cp/typeck.c:5200 cp/typeck.c:5209 cp/typeck.c:5502 cp/typeck.c:5511
#, gcc-internal-format
msgid "ISO C++ forbids comparison between pointer and integer"
msgstr ""
-#: cp/typeck.c:5404 cp/typeck.c:5417
+#: cp/typeck.c:5415 cp/typeck.c:5428
#, gcc-internal-format
msgid "operand types are %qT and %qT"
msgstr ""
-#: cp/typeck.c:5440
+#: cp/typeck.c:5451
#, gcc-internal-format
msgid "three-way comparison of vectors"
msgstr ""
-#: cp/typeck.c:5472 cp/typeck.c:5480
+#: cp/typeck.c:5483 cp/typeck.c:5491
#, gcc-internal-format
msgid "ordered comparison of pointer with integer zero (%qT and %qT)"
msgstr ""
-#: cp/typeck.c:5530
+#: cp/typeck.c:5541
#, gcc-internal-format
msgid "unordered comparison on non-floating-point argument"
msgstr ""
-#: cp/typeck.c:5576
+#: cp/typeck.c:5587
msgid ""
"implicit conversion from %qH to %qI to match other operand of binary "
"expression"
msgstr ""
-#: cp/typeck.c:5656
+#: cp/typeck.c:5667
#, gcc-internal-format
msgid "invalid operands of types %qT and %qT to binary %qO"
msgstr ""
-#: cp/typeck.c:6008
+#: cp/typeck.c:6019
#, gcc-internal-format
msgid "ISO C++ forbids using pointer of type %<void *%> in subtraction"
msgstr ""
-#: cp/typeck.c:6016
+#: cp/typeck.c:6027
#, gcc-internal-format
msgid "ISO C++ forbids using pointer to a function in subtraction"
msgstr ""
-#: cp/typeck.c:6024
+#: cp/typeck.c:6035
#, gcc-internal-format
msgid "ISO C++ forbids using pointer to a method in subtraction"
msgstr ""
-#: cp/typeck.c:6077
+#: cp/typeck.c:6088
#, gcc-internal-format
msgid "invalid use of a pointer to an incomplete type in pointer arithmetic"
msgstr ""
-#: cp/typeck.c:6156
+#: cp/typeck.c:6167
#, gcc-internal-format
msgid "taking address of constructor %qD"
msgstr ""
-#: cp/typeck.c:6157
+#: cp/typeck.c:6168
#, gcc-internal-format
msgid "taking address of destructor %qD"
msgstr ""
-#: cp/typeck.c:6173
+#: cp/typeck.c:6184
#, gcc-internal-format
msgid "invalid use of %qE to form a pointer-to-member-function"
msgstr ""
-#: cp/typeck.c:6176
+#: cp/typeck.c:6187
#, gcc-internal-format
msgid " a qualified-id is required"
msgstr ""
-#: cp/typeck.c:6183
+#: cp/typeck.c:6194
#, gcc-internal-format
msgid ""
"parentheses around %qE cannot be used to form a pointer-to-member-function"
msgstr ""
-#: cp/typeck.c:6369
+#: cp/typeck.c:6380
#, gcc-internal-format
msgid ""
"ISO C++ forbids taking the address of an unqualified or parenthesized non-"
"static member function to form a pointer to member function. Say %<&%T::%D%>"
msgstr ""
-#: cp/typeck.c:6375
+#: cp/typeck.c:6386
#, gcc-internal-format
msgid ""
"ISO C++ forbids taking the address of a bound member function to form a "
@@ -60657,445 +60709,445 @@ msgid ""
msgstr ""
#. Make this a permerror because we used to accept it.
-#: cp/typeck.c:6410
+#: cp/typeck.c:6421
#, gcc-internal-format
msgid "taking address of rvalue"
msgstr ""
-#: cp/typeck.c:6427
+#: cp/typeck.c:6438
#, gcc-internal-format
msgid "ISO C++ forbids taking address of function %<::main%>"
msgstr ""
-#: cp/typeck.c:6485
+#: cp/typeck.c:6496
#, gcc-internal-format
msgid "cannot create pointer to reference member %qD"
msgstr ""
-#: cp/typeck.c:6505
+#: cp/typeck.c:6516
#, gcc-internal-format
msgid "attempt to take address of bit-field"
msgstr ""
-#: cp/typeck.c:6521
+#: cp/typeck.c:6532
#, gcc-internal-format
msgid "taking address of an immediate function %qD"
msgstr ""
-#: cp/typeck.c:6668
+#: cp/typeck.c:6679
#, gcc-internal-format
msgid "%<~%> on an expression of type %<bool%>"
msgstr ""
-#: cp/typeck.c:6669
+#: cp/typeck.c:6680
#, gcc-internal-format
msgid "did you mean to use logical not (%<!%>)?"
msgstr ""
-#: cp/typeck.c:6792
+#: cp/typeck.c:6803
#, gcc-internal-format
msgid "ISO C++ forbids incrementing an enum"
msgstr ""
-#: cp/typeck.c:6793
+#: cp/typeck.c:6804
#, gcc-internal-format
msgid "ISO C++ forbids decrementing an enum"
msgstr ""
-#: cp/typeck.c:6809
+#: cp/typeck.c:6820
#, gcc-internal-format
msgid "cannot increment a pointer to incomplete type %qT"
msgstr ""
-#: cp/typeck.c:6811
+#: cp/typeck.c:6822
#, gcc-internal-format
msgid "cannot decrement a pointer to incomplete type %qT"
msgstr ""
-#: cp/typeck.c:6823
+#: cp/typeck.c:6834
#, gcc-internal-format
msgid "ISO C++ forbids incrementing a pointer of type %qT"
msgstr ""
-#: cp/typeck.c:6825
+#: cp/typeck.c:6836
#, gcc-internal-format
msgid "ISO C++ forbids decrementing a pointer of type %qT"
msgstr ""
-#: cp/typeck.c:6864
+#: cp/typeck.c:6875
#, gcc-internal-format
msgid "%qs expression of %<volatile%>-qualified type is deprecated"
msgstr ""
-#: cp/typeck.c:6877
+#: cp/typeck.c:6888
#, gcc-internal-format
msgid "use of an operand of type %qT in %<operator--%> is forbidden"
msgstr ""
-#: cp/typeck.c:6887
+#: cp/typeck.c:6898
#, gcc-internal-format
msgid "use of an operand of type %qT in %<operator++%> is forbidden in C++17"
msgstr ""
-#: cp/typeck.c:6895
+#: cp/typeck.c:6906
#, gcc-internal-format
msgid "use of an operand of type %qT in %<operator++%> is deprecated"
msgstr ""
-#: cp/typeck.c:7075
+#: cp/typeck.c:7086
#, gcc-internal-format
msgid "cannot take the address of %<this%>, which is an rvalue expression"
msgstr ""
-#: cp/typeck.c:7097
+#: cp/typeck.c:7108
#, gcc-internal-format
msgid "address of explicit register variable %qD requested"
msgstr ""
-#: cp/typeck.c:7102
+#: cp/typeck.c:7113
#, gcc-internal-format
msgid "address requested for %qD, which is declared %<register%>"
msgstr ""
-#: cp/typeck.c:7177
+#: cp/typeck.c:7188
#, gcc-internal-format
msgid "list-initializer for non-class type must not be parenthesized"
msgstr ""
-#: cp/typeck.c:7189
+#: cp/typeck.c:7200
#, gcc-internal-format
msgid "expression list treated as compound expression in initializer"
msgstr ""
-#: cp/typeck.c:7193
+#: cp/typeck.c:7204
#, gcc-internal-format
msgid "expression list treated as compound expression in mem-initializer"
msgstr ""
-#: cp/typeck.c:7197
+#: cp/typeck.c:7208
#, gcc-internal-format
msgid "expression list treated as compound expression in functional cast"
msgstr ""
-#: cp/typeck.c:7234
+#: cp/typeck.c:7245
#, gcc-internal-format, gfc-internal-format
msgid "%s expression list treated as compound expression"
msgstr ""
-#: cp/typeck.c:7321
+#: cp/typeck.c:7332
#, gcc-internal-format
msgid "no context to resolve type of %qE"
msgstr ""
-#: cp/typeck.c:7355
+#: cp/typeck.c:7366
#, gcc-internal-format
msgid "cast from type %qT to type %qT casts away qualifiers"
msgstr ""
-#: cp/typeck.c:7361
+#: cp/typeck.c:7372
#, gcc-internal-format
msgid "%<static_cast%> from type %qT to type %qT casts away qualifiers"
msgstr ""
-#: cp/typeck.c:7368
+#: cp/typeck.c:7379
#, gcc-internal-format
msgid "%<reinterpret_cast%> from type %qT to type %qT casts away qualifiers"
msgstr ""
-#: cp/typeck.c:7392
+#: cp/typeck.c:7403
#, gcc-internal-format
msgid "useless cast to type %q#T"
msgstr ""
-#: cp/typeck.c:7406
+#: cp/typeck.c:7417
#, gcc-internal-format
msgid "type qualifiers ignored on cast result type"
msgstr ""
-#: cp/typeck.c:7843
+#: cp/typeck.c:7854
#, gcc-internal-format
msgid "invalid %<static_cast%> from type %qT to type %qT"
msgstr ""
-#: cp/typeck.c:7849 cp/typeck.c:7855 cp/typeck.c:9510
+#: cp/typeck.c:7860 cp/typeck.c:7866 cp/typeck.c:9517
#, gcc-internal-format
msgid "class type %qT is incomplete"
msgstr ""
-#: cp/typeck.c:7881
+#: cp/typeck.c:7892
msgid "converting from %qH to %qI"
msgstr ""
-#: cp/typeck.c:7956
+#: cp/typeck.c:7963
#, gcc-internal-format
-msgid "invalid cast of an rvalue expression of type %qT to type %qT"
+msgid "invalid cast of a prvalue expression of type %qT to type %qT"
msgstr ""
-#: cp/typeck.c:8026
+#: cp/typeck.c:8033
msgid "cast from %qH to %qI loses precision"
msgstr ""
-#: cp/typeck.c:8051
+#: cp/typeck.c:8058
msgid "cast between incompatible function types from %qH to %qI"
msgstr ""
-#: cp/typeck.c:8062
+#: cp/typeck.c:8069
msgid "cast between incompatible pointer to member types from %qH to %qI"
msgstr ""
-#: cp/typeck.c:8083 cp/typeck.c:8273
+#: cp/typeck.c:8090 cp/typeck.c:8280
msgid "cast from %qH to %qI increases required alignment of target type"
msgstr ""
-#: cp/typeck.c:8100
+#: cp/typeck.c:8107
#, gcc-internal-format
msgid ""
"casting between pointer-to-function and pointer-to-object is conditionally-"
"supported"
msgstr ""
-#: cp/typeck.c:8114
+#: cp/typeck.c:8121
#, gcc-internal-format
msgid "invalid cast from type %qT to type %qT"
msgstr ""
-#: cp/typeck.c:8187
+#: cp/typeck.c:8194
#, gcc-internal-format
msgid ""
"invalid use of %<const_cast%> with type %qT, which is not a pointer, "
"reference, nor a pointer-to-data-member type"
msgstr ""
-#: cp/typeck.c:8196
+#: cp/typeck.c:8203
#, gcc-internal-format
msgid ""
"invalid use of %<const_cast%> with type %qT, which is a pointer or reference "
"to a function type"
msgstr ""
-#: cp/typeck.c:8238
+#: cp/typeck.c:8245
#, gcc-internal-format
msgid "invalid %<const_cast%> of an rvalue of type %qT to type %qT"
msgstr ""
-#: cp/typeck.c:8308
+#: cp/typeck.c:8315
#, gcc-internal-format
msgid "invalid %<const_cast%> from type %qT to type %qT"
msgstr ""
-#: cp/typeck.c:8409 cp/typeck.c:8418
+#: cp/typeck.c:8416 cp/typeck.c:8425
#, gcc-internal-format
msgid "ISO C++ forbids casting to an array type %qT"
msgstr ""
-#: cp/typeck.c:8427
+#: cp/typeck.c:8434
#, gcc-internal-format
msgid "invalid cast to function type %qT"
msgstr ""
-#: cp/typeck.c:8737
+#: cp/typeck.c:8744
#, gcc-internal-format
msgid ""
"compound assignment with %<volatile%>-qualified left operand is deprecated"
msgstr ""
-#: cp/typeck.c:8757
+#: cp/typeck.c:8764
#, gcc-internal-format
msgid " in evaluation of %<%Q(%#T, %#T)%>"
msgstr ""
-#: cp/typeck.c:8817
+#: cp/typeck.c:8824
#, gcc-internal-format
msgid "assigning to an array from an initializer list"
msgstr ""
-#: cp/typeck.c:8844
+#: cp/typeck.c:8851
#, gcc-internal-format
msgid "incompatible types in assignment of %qT to %qT"
msgstr ""
-#: cp/typeck.c:8858
+#: cp/typeck.c:8865
#, gcc-internal-format
msgid "array used as initializer"
msgstr ""
-#: cp/typeck.c:8860
+#: cp/typeck.c:8867
#, gcc-internal-format
msgid "invalid array assignment"
msgstr ""
-#: cp/typeck.c:8997
+#: cp/typeck.c:9004
#, gcc-internal-format
msgid " in pointer to member function conversion"
msgstr ""
-#: cp/typeck.c:9011
+#: cp/typeck.c:9018
#, gcc-internal-format
msgid "pointer to member conversion via virtual base %qT"
msgstr ""
-#: cp/typeck.c:9058 cp/typeck.c:9077
+#: cp/typeck.c:9065 cp/typeck.c:9084
#, gcc-internal-format
msgid " in pointer to member conversion"
msgstr ""
-#: cp/typeck.c:9158
+#: cp/typeck.c:9165
#, gcc-internal-format
msgid "invalid conversion to type %qT from type %qT"
msgstr ""
-#: cp/typeck.c:9473
+#: cp/typeck.c:9480
msgid "cannot convert %qH to %qI in default argument"
msgstr ""
-#: cp/typeck.c:9478
+#: cp/typeck.c:9485
msgid "cannot convert %qH to %qI in argument passing"
msgstr ""
-#: cp/typeck.c:9487
+#: cp/typeck.c:9494
msgid "cannot convert %qH to %qI in initialization"
msgstr ""
-#: cp/typeck.c:9491
+#: cp/typeck.c:9498
msgid "cannot convert %qH to %qI in return"
msgstr ""
-#: cp/typeck.c:9496
+#: cp/typeck.c:9503
msgid "cannot convert %qH to %qI in assignment"
msgstr ""
-#: cp/typeck.c:9528
+#: cp/typeck.c:9535
#, gcc-internal-format
msgid "parameter %qP of %qD might be a candidate for a format attribute"
msgstr ""
-#: cp/typeck.c:9532
+#: cp/typeck.c:9539
#, gcc-internal-format
msgid "parameter might be a candidate for a format attribute"
msgstr ""
-#: cp/typeck.c:9537
+#: cp/typeck.c:9544
#, gcc-internal-format
msgid "target of conversion might be a candidate for a format attribute"
msgstr ""
-#: cp/typeck.c:9542
+#: cp/typeck.c:9549
#, gcc-internal-format
msgid "target of initialization might be a candidate for a format attribute"
msgstr ""
-#: cp/typeck.c:9552
+#: cp/typeck.c:9559
#, gcc-internal-format
msgid ""
"left-hand side of assignment might be a candidate for a format attribute"
msgstr ""
-#: cp/typeck.c:9648
+#: cp/typeck.c:9655
#, gcc-internal-format
msgid "in passing argument %P of %qD"
msgstr ""
-#: cp/typeck.c:9730
+#: cp/typeck.c:9737
#, gcc-internal-format
msgid "returning reference to temporary"
msgstr ""
-#: cp/typeck.c:9733
+#: cp/typeck.c:9740
#, gcc-internal-format
msgid ""
"returning temporary %<initializer_list%> does not extend the lifetime of the "
"underlying array"
msgstr ""
-#: cp/typeck.c:9769
+#: cp/typeck.c:9776
#, gcc-internal-format
msgid "reference to local variable %qD returned"
msgstr ""
-#: cp/typeck.c:9773
+#: cp/typeck.c:9780
#, gcc-internal-format
msgid ""
"returning local %<initializer_list%> variable %qD does not extend the "
"lifetime of the underlying array"
msgstr ""
-#: cp/typeck.c:9779
+#: cp/typeck.c:9786
#, gcc-internal-format
msgid "address of label %qD returned"
msgstr ""
-#: cp/typeck.c:9783
+#: cp/typeck.c:9790
#, gcc-internal-format
msgid "address of local variable %qD returned"
msgstr ""
-#: cp/typeck.c:9982
+#: cp/typeck.c:9989
#, gcc-internal-format
msgid "moving a local object in a return statement prevents copy elision"
msgstr ""
-#: cp/typeck.c:9984 cp/typeck.c:10007
+#: cp/typeck.c:9991 cp/typeck.c:10014
#, gcc-internal-format
msgid "remove %<std::move%> call"
msgstr ""
-#: cp/typeck.c:10006
+#: cp/typeck.c:10013
#, gcc-internal-format
msgid "redundant move in return statement"
msgstr ""
-#: cp/typeck.c:10045
+#: cp/typeck.c:10052
#, gcc-internal-format
msgid "returning a value from a destructor"
msgstr ""
#. If a return statement appears in a handler of the
#. function-try-block of a constructor, the program is ill-formed.
-#: cp/typeck.c:10053
+#: cp/typeck.c:10060
#, gcc-internal-format
msgid "cannot return from a handler of a function-try-block of a constructor"
msgstr ""
#. You can't return a value from a constructor.
-#: cp/typeck.c:10056
+#: cp/typeck.c:10063
#, gcc-internal-format
msgid "returning a value from a constructor"
msgstr ""
#. Give a helpful error message.
-#: cp/typeck.c:10091 cp/typeck.c:10137
+#: cp/typeck.c:10098 cp/typeck.c:10144
#, gcc-internal-format
msgid "return-statement with no value, in function returning %qT"
msgstr ""
-#: cp/typeck.c:10099
+#: cp/typeck.c:10106
#, gcc-internal-format
msgid "returning initializer list"
msgstr ""
-#: cp/typeck.c:10118
+#: cp/typeck.c:10125
#, gcc-internal-format
msgid "inconsistent types %qT and %qT deduced for lambda return type"
msgstr ""
-#: cp/typeck.c:10121
+#: cp/typeck.c:10128
#, gcc-internal-format
msgid "inconsistent deduction for auto return type: %qT and then %qT"
msgstr ""
-#: cp/typeck.c:10156
+#: cp/typeck.c:10163
#, gcc-internal-format
msgid "return-statement with a value, in function returning %qT"
msgstr ""
-#: cp/typeck.c:10185
+#: cp/typeck.c:10192
#, gcc-internal-format
msgid ""
"%<operator new%> must not return NULL unless it is declared %<throw()%> (or "
"%<-fcheck-new%> is in effect)"
msgstr ""
-#: cp/typeck.c:10828
+#: cp/typeck.c:10838
#, gcc-internal-format
msgid "using rvalue as lvalue"
msgstr ""
@@ -61361,107 +61413,102 @@ msgstr ""
msgid "cannot initialize aggregate of type %qT with a compound literal"
msgstr ""
-#: cp/typeck2.c:1586 cp/typeck2.c:1616
+#: cp/typeck2.c:1583 cp/typeck2.c:1613
#, gcc-internal-format
msgid "missing initializer for member %qD"
msgstr ""
-#: cp/typeck2.c:1593
+#: cp/typeck2.c:1590
#, gcc-internal-format
msgid "member %qD is uninitialized reference"
msgstr ""
-#: cp/typeck2.c:1600
+#: cp/typeck2.c:1597
#, gcc-internal-format
msgid "member %qD with uninitialized reference fields"
msgstr ""
-#: cp/typeck2.c:1691
+#: cp/typeck2.c:1688
#, gcc-internal-format
msgid "designator order for field %qD does not match declaration order in %qT"
msgstr ""
-#: cp/typeck2.c:1764
+#: cp/typeck2.c:1761
#, gcc-internal-format
msgid "no field %qD found in union being initialized"
msgstr ""
-#: cp/typeck2.c:1775
+#: cp/typeck2.c:1772
#, gcc-internal-format
msgid "index value instead of field name in union initializer"
msgstr ""
-#: cp/typeck2.c:1969
+#: cp/typeck2.c:1966
#, gcc-internal-format
msgid "circular pointer delegation detected"
msgstr ""
-#: cp/typeck2.c:1983
+#: cp/typeck2.c:1980
#, gcc-internal-format
msgid "base operand of %<->%> has non-pointer type %qT"
msgstr ""
-#: cp/typeck2.c:2013
+#: cp/typeck2.c:2010
#, gcc-internal-format
msgid "result of %<operator->()%> yields non-pointer result"
msgstr ""
-#: cp/typeck2.c:2015
+#: cp/typeck2.c:2012
#, gcc-internal-format
msgid "base operand of %<->%> is not a pointer"
msgstr ""
-#: cp/typeck2.c:2042
+#: cp/typeck2.c:2039
#, gcc-internal-format
msgid "%qE cannot be used as a member pointer, since it is of type %qT"
msgstr ""
-#: cp/typeck2.c:2051
+#: cp/typeck2.c:2048
#, gcc-internal-format
msgid "cannot apply member pointer %qE to %qE, which is of non-class type %qT"
msgstr ""
-#: cp/typeck2.c:2073
+#: cp/typeck2.c:2070
#, gcc-internal-format
msgid "pointer to member type %qT incompatible with object type %qT"
msgstr ""
-#: cp/typeck2.c:2131
+#: cp/typeck2.c:2128
#, gcc-internal-format
msgid "pointer-to-member-function type %qT requires an rvalue"
msgstr ""
-#: cp/typeck2.c:2142
+#: cp/typeck2.c:2139
#, gcc-internal-format
msgid "pointer-to-member-function type %qT requires an lvalue"
msgstr ""
-#: cp/typeck2.c:2150
+#: cp/typeck2.c:2147
#, gcc-internal-format
msgid "pointer-to-member-function type %qT requires an lvalue before C++20"
msgstr ""
-#: cp/typeck2.c:2191
+#: cp/typeck2.c:2188
#, gcc-internal-format
msgid "functional cast to array type %qT"
msgstr ""
-#: cp/typeck2.c:2213
-#, gcc-internal-format
-msgid "cannot deduce template arguments for %qT from %<()%>"
-msgstr ""
-
-#: cp/typeck2.c:2233
+#: cp/typeck2.c:2219
#, gcc-internal-format
msgid "invalid value-initialization of reference type"
msgstr ""
-#: cp/typeck2.c:2474
+#: cp/typeck2.c:2460
#, gcc-internal-format
msgid "call to function %qD which throws incomplete type %q#T"
msgstr ""
-#: cp/typeck2.c:2477
+#: cp/typeck2.c:2463
#, gcc-internal-format
msgid "call to function which throws incomplete type %q#T"
msgstr ""
@@ -61481,273 +61528,278 @@ msgstr ""
msgid "unable to open log file %<vtv_count_data.log%>: %m"
msgstr ""
-#: d/dmd/dsymbolsem.c:134
+#: d/dmd/dsymbolsem.c:136
#, gcc-internal-format
msgid "missing or corrupt object.d"
msgstr ""
-#: d/dmd/dsymbolsem.c:182
+#: d/dmd/dsymbolsem.c:184
#, gcc-internal-format
msgid "%p has no semantic routine"
msgstr ""
-#: d/dmd/dsymbolsem.c:304
+#: d/dmd/dsymbolsem.c:306
#, gcc-internal-format
msgid "extern symbols cannot have initializers"
msgstr ""
-#: d/dmd/dsymbolsem.c:385
+#: d/dmd/dsymbolsem.c:387
#, gcc-internal-format
msgid "__gshared not allowed in safe functions; use shared"
msgstr ""
-#: d/dmd/dsymbolsem.c:397
+#: d/dmd/dsymbolsem.c:399
#, gcc-internal-format, gfc-internal-format
msgid ""
"type %s is inferred from initializer %s, and variables cannot be of type void"
msgstr ""
-#: d/dmd/dsymbolsem.c:401
+#: d/dmd/dsymbolsem.c:403
#, gcc-internal-format
msgid "variables cannot be of type void"
msgstr ""
-#: d/dmd/dsymbolsem.c:407
+#: d/dmd/dsymbolsem.c:409
#, gcc-internal-format
msgid "cannot be declared to be a function"
msgstr ""
-#: d/dmd/dsymbolsem.c:416
+#: d/dmd/dsymbolsem.c:418
#, gcc-internal-format, gfc-internal-format
-msgid "no definition of struct %s"
+msgid "no definition of struct `%s`"
msgstr ""
-#: d/dmd/dsymbolsem.c:420
+#: d/dmd/dsymbolsem.c:434
#, gcc-internal-format
msgid ""
"storage class `auto` has no effect if type is not inferred, did you mean "
"`scope`?"
msgstr ""
-#: d/dmd/dsymbolsem.c:605
+#: d/dmd/dsymbolsem.c:619
#, gcc-internal-format
msgid "cannot be final, perhaps you meant const?"
msgstr ""
-#: d/dmd/dsymbolsem.c:610
+#: d/dmd/dsymbolsem.c:624
#, gcc-internal-format, gfc-internal-format
msgid "cannot be %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:622
+#: d/dmd/dsymbolsem.c:636
#, gcc-internal-format, gfc-internal-format
msgid "cannot be `scope` and `%s`"
msgstr ""
-#: d/dmd/dsymbolsem.c:626
+#: d/dmd/dsymbolsem.c:640
#, gcc-internal-format
msgid "field cannot be `scope`"
msgstr ""
-#: d/dmd/dsymbolsem.c:659
+#: d/dmd/dsymbolsem.c:673
#, gcc-internal-format
msgid "field not allowed in interface"
msgstr ""
-#: d/dmd/dsymbolsem.c:663
+#: d/dmd/dsymbolsem.c:677
#, gcc-internal-format, gfc-internal-format
msgid "cannot be further field because it will change the determined %s size"
msgstr ""
-#: d/dmd/dsymbolsem.c:684
+#: d/dmd/dsymbolsem.c:698
#, gcc-internal-format, gfc-internal-format
msgid "cannot use template to add field to aggregate `%s`"
msgstr ""
-#: d/dmd/dsymbolsem.c:691
+#: d/dmd/dsymbolsem.c:705
#, gcc-internal-format
msgid "only parameters or foreach declarations can be ref"
msgstr ""
-#: d/dmd/dsymbolsem.c:700
+#: d/dmd/dsymbolsem.c:714
#, gcc-internal-format
msgid "only parameters or stack based variables can be inout"
msgstr ""
-#: d/dmd/dsymbolsem.c:718
+#: d/dmd/dsymbolsem.c:732
#, gcc-internal-format
msgid "inout variables can only be declared inside inout functions"
msgstr ""
-#: d/dmd/dsymbolsem.c:737
+#: d/dmd/dsymbolsem.c:751
#, gcc-internal-format, gfc-internal-format
msgid "default construction is disabled for type %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:746
+#: d/dmd/dsymbolsem.c:760
#, gcc-internal-format
msgid ""
"globals, statics, fields, manifest constants, ref and out parameters cannot "
"be scope"
msgstr ""
-#: d/dmd/dsymbolsem.c:752
+#: d/dmd/dsymbolsem.c:766
#, gcc-internal-format
msgid "reference to scope class must be scope"
msgstr ""
-#: d/dmd/dsymbolsem.c:762 d/dmd/dsymbolsem.c:769
+#: d/dmd/dsymbolsem.c:776 d/dmd/dsymbolsem.c:783
#, gcc-internal-format
msgid "void initializers for pointers not allowed in safe functions"
msgstr ""
-#: d/dmd/dsymbolsem.c:782
+#: d/dmd/dsymbolsem.c:796
#, gcc-internal-format
msgid "manifest constants must have initializers"
msgstr ""
-#: d/dmd/dsymbolsem.c:794
+#: d/dmd/dsymbolsem.c:808
#, gcc-internal-format, gfc-internal-format
msgid "size of type %s is invalid"
msgstr ""
-#: d/dmd/dsymbolsem.c:829
+#: d/dmd/dsymbolsem.c:843
#, gcc-internal-format, gfc-internal-format
msgid "%s does not have a default initializer"
msgstr ""
-#: d/dmd/dsymbolsem.c:873
+#: d/dmd/dsymbolsem.c:887
#, gcc-internal-format
msgid "is not a static and cannot have static initializer"
msgstr ""
-#: d/dmd/dsymbolsem.c:993
+#: d/dmd/dsymbolsem.c:1007
#, gcc-internal-format, gfc-internal-format
msgid ""
"of type struct %s uses this(this), which is not allowed in static "
"initialization"
msgstr ""
-#: d/dmd/dsymbolsem.c:1028
+#: d/dmd/dsymbolsem.c:1042
#, gcc-internal-format
msgid "static storage variables cannot have destructors"
msgstr ""
-#: d/dmd/dsymbolsem.c:1339
+#: d/dmd/dsymbolsem.c:1340
#, gcc-internal-format
msgid "string expected for library name"
msgstr ""
-#: d/dmd/dsymbolsem.c:1371
+#: d/dmd/dsymbolsem.c:1372
#, gcc-internal-format
msgid "function name expected for start address"
msgstr ""
-#: d/dmd/dsymbolsem.c:1386
+#: d/dmd/dsymbolsem.c:1387
#, gcc-internal-format, gfc-internal-format
msgid "function name expected for start address, not `%s`"
msgstr ""
-#: d/dmd/dsymbolsem.c:1400
+#: d/dmd/dsymbolsem.c:1401
#, gcc-internal-format
msgid "string expected for mangled name"
msgstr ""
-#: d/dmd/dsymbolsem.c:1413
+#: d/dmd/dsymbolsem.c:1414
#, gcc-internal-format
msgid "zero-length string not allowed for mangled name"
msgstr ""
-#: d/dmd/dsymbolsem.c:1418
+#: d/dmd/dsymbolsem.c:1419
#, gcc-internal-format
msgid "mangled name characters can only be of type char"
msgstr ""
-#: d/dmd/dsymbolsem.c:1443
+#: d/dmd/dsymbolsem.c:1444
msgid "char 0x%02x not allowed in mangled name"
msgstr ""
-#: d/dmd/dsymbolsem.c:1456
+#: d/dmd/dsymbolsem.c:1457
msgid "char 0x%04x not allowed in mangled name"
msgstr ""
-#: d/dmd/dsymbolsem.c:1519
+#: d/dmd/dsymbolsem.c:1465
+#, gcc-internal-format
+msgid "takes no argument"
+msgstr ""
+
+#: d/dmd/dsymbolsem.c:1526
#, gcc-internal-format
msgid "can only apply to a single declaration"
msgstr ""
-#: d/dmd/dsymbolsem.c:1532
+#: d/dmd/dsymbolsem.c:1539
#, gcc-internal-format
msgid "pragma is missing closing `;`"
msgstr ""
-#: d/dmd/dsymbolsem.c:1565
+#: d/dmd/dsymbolsem.c:1573
#, gcc-internal-format, gfc-internal-format
msgid "incomplete mixin declaration (%s)"
msgstr ""
-#: d/dmd/dsymbolsem.c:1747
+#: d/dmd/dsymbolsem.c:1758
#, gcc-internal-format
msgid "base type must not be void"
msgstr ""
-#: d/dmd/dsymbolsem.c:1773
+#: d/dmd/dsymbolsem.c:1784
#, gcc-internal-format, gfc-internal-format
msgid "enum %s must have at least one member"
msgstr ""
-#: d/dmd/dsymbolsem.c:1859
+#: d/dmd/dsymbolsem.c:1870
#, gcc-internal-format
msgid "circular reference to enum member"
msgstr ""
-#: d/dmd/dsymbolsem.c:2037
+#: d/dmd/dsymbolsem.c:2048
#, gcc-internal-format, gfc-internal-format
msgid "initialization with (%s.%s + 1) causes overflow for type `%s`"
msgstr ""
-#: d/dmd/dsymbolsem.c:2066
+#: d/dmd/dsymbolsem.c:2077
#, gcc-internal-format
msgid "has inexact value, due to loss of precision"
msgstr ""
-#: d/dmd/dsymbolsem.c:2144
+#: d/dmd/dsymbolsem.c:2155
#, gcc-internal-format
msgid "template tuple parameter must be last one"
msgstr ""
-#: d/dmd/dsymbolsem.c:2320
+#: d/dmd/dsymbolsem.c:2331
#, gcc-internal-format
msgid "recursive mixin instantiation"
msgstr ""
#. ensure error message gets printed
-#: d/dmd/dsymbolsem.c:2374 d/dmd/dsymbolsem.c:5234
+#: d/dmd/dsymbolsem.c:2385 d/dmd/dsymbolsem.c:5364
#, gcc-internal-format
msgid "recursive expansion"
msgstr ""
-#: d/dmd/dsymbolsem.c:2414
+#: d/dmd/dsymbolsem.c:2425
#, gcc-internal-format
msgid "error instantiating"
msgstr ""
-#: d/dmd/dsymbolsem.c:2537 d/dmd/dsymbolsem.c:2706
+#: d/dmd/dsymbolsem.c:2565 d/dmd/dsymbolsem.c:2734
#, gcc-internal-format, gfc-internal-format
msgid "%s must be a function instead of %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:2634
+#: d/dmd/dsymbolsem.c:2662
#, gcc-internal-format, gfc-internal-format
msgid "without `this` cannot be %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:2734
+#: d/dmd/dsymbolsem.c:2762
#, gcc-internal-format
msgid "storage class `auto` has no effect if return type is not inferred"
msgstr ""
-#: d/dmd/dsymbolsem.c:2739
+#: d/dmd/dsymbolsem.c:2767
#, gcc-internal-format
msgid "functions cannot be scope"
msgstr ""
@@ -61755,44 +61807,58 @@ msgstr ""
#. Non-static nested functions have a hidden 'this' pointer to which
#. * the 'return' applies
#.
-#: d/dmd/dsymbolsem.c:2747
+#: d/dmd/dsymbolsem.c:2775
#, gcc-internal-format
msgid "static member has no `this` to which `return` can apply"
msgstr ""
-#: d/dmd/dsymbolsem.c:2759
+#: d/dmd/dsymbolsem.c:2787
#, gcc-internal-format, gfc-internal-format
msgid "%s functions cannot be abstract"
msgstr ""
-#: d/dmd/dsymbolsem.c:2766
+#: d/dmd/dsymbolsem.c:2794
#, gcc-internal-format, gfc-internal-format
msgid "%s method is not virtual and cannot override"
msgstr ""
-#: d/dmd/dsymbolsem.c:2768
+#: d/dmd/dsymbolsem.c:2796
#, gcc-internal-format
msgid "cannot override a non-virtual function"
msgstr ""
-#: d/dmd/dsymbolsem.c:2772
+#: d/dmd/dsymbolsem.c:2800
#, gcc-internal-format
msgid "cannot be both final and abstract"
msgstr ""
-#: d/dmd/dsymbolsem.c:2784
+#: d/dmd/dsymbolsem.c:2829
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"`pragma(%s)` functions must be `extern(C) %s %s([parameters...], "
+"const(char)*, ...)` not `%s`"
+msgstr ""
+
+#: d/dmd/dsymbolsem.c:2835
+#, gcc-internal-format, gfc-internal-format
+msgid ""
+"`pragma(%s)` functions must be `extern(C) %s %s([parameters...], "
+"const(char)*, va_list)`"
+msgstr ""
+
+#: d/dmd/dsymbolsem.c:2851
#, gcc-internal-format, gfc-internal-format
msgid ""
"constructors, destructors, postblits, invariants, new and delete functions "
"are not allowed in interface %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:2786
+#: d/dmd/dsymbolsem.c:2853
#, gcc-internal-format, gfc-internal-format
msgid "function body only allowed in final functions in interface %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:2794
+#: d/dmd/dsymbolsem.c:2861
#, gcc-internal-format, gfc-internal-format
msgid "destructors, postblits and invariants are not allowed in union %s"
msgstr ""
@@ -61800,181 +61866,181 @@ msgstr ""
#. If same name function exists in base class but 'this' is auto return,
#. * cannot find index of base class's vtbl[] to override.
#.
-#: d/dmd/dsymbolsem.c:2850
+#: d/dmd/dsymbolsem.c:2917
#, gcc-internal-format
msgid ""
"return type inference is not supported if may override base class function"
msgstr ""
-#: d/dmd/dsymbolsem.c:2880 d/dmd/dsymbolsem.c:2975
+#: d/dmd/dsymbolsem.c:2947 d/dmd/dsymbolsem.c:3042
#, gcc-internal-format, gfc-internal-format
msgid "cannot override final function %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:3008
+#: d/dmd/dsymbolsem.c:3075
#, gcc-internal-format
msgid "multiple overrides of same function"
msgstr ""
-#: d/dmd/dsymbolsem.c:3103
+#: d/dmd/dsymbolsem.c:3170
#, gcc-internal-format, gfc-internal-format
msgid "incompatible covariant types %s and %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:3125
+#: d/dmd/dsymbolsem.c:3192
#, gcc-internal-format, gfc-internal-format
msgid "does not override any function, did you mean to override `%s%s`?"
msgstr ""
-#: d/dmd/dsymbolsem.c:3128
+#: d/dmd/dsymbolsem.c:3195
#, gcc-internal-format
msgid "does not override any function"
msgstr ""
-#: d/dmd/dsymbolsem.c:3149
+#: d/dmd/dsymbolsem.c:3216
#, gcc-internal-format, gfc-internal-format
msgid "cannot override final function %s.%s"
msgstr ""
-#: d/dmd/dsymbolsem.c:3164
+#: d/dmd/dsymbolsem.c:3231
#, gcc-internal-format
msgid "override only applies to class member functions"
msgstr ""
-#: d/dmd/dsymbolsem.c:3173
+#: d/dmd/dsymbolsem.c:3240
#, gcc-internal-format
msgid ""
"in and out contracts can only appear without a body when they are virtual "
"interface functions or abstract"
msgstr ""
-#: d/dmd/dsymbolsem.c:3196
+#: d/dmd/dsymbolsem.c:3263
#, gcc-internal-format, gfc-internal-format
msgid "cannot use template to add virtual function to class `%s`"
msgstr ""
-#: d/dmd/dsymbolsem.c:3304
+#: d/dmd/dsymbolsem.c:3371
#, gcc-internal-format
msgid ""
"default constructor for structs only allowed with @disable, no body, and no "
"parameters"
msgstr ""
-#: d/dmd/dsymbolsem.c:3648
+#: d/dmd/dsymbolsem.c:3715
#, gcc-internal-format
msgid "at least one argument of type size_t expected"
msgstr ""
-#: d/dmd/dsymbolsem.c:3654
+#: d/dmd/dsymbolsem.c:3721
#, gcc-internal-format, gfc-internal-format
msgid "first argument must be type size_t, not %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:3690
+#: d/dmd/dsymbolsem.c:3757
#, gcc-internal-format
msgid "one argument of type void* expected"
msgstr ""
-#: d/dmd/dsymbolsem.c:3696
+#: d/dmd/dsymbolsem.c:3763
#, gcc-internal-format, gfc-internal-format
msgid "one argument of type void* expected, not %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:3754
+#: d/dmd/dsymbolsem.c:3821
#, gcc-internal-format
msgid "structs, unions cannot be abstract"
msgstr ""
-#: d/dmd/dsymbolsem.c:3894 d/dmd/dsymbolsem.c:4446
+#: d/dmd/dsymbolsem.c:3961 d/dmd/dsymbolsem.c:4513
#, gcc-internal-format, gfc-internal-format
msgid "already exists at %s. Perhaps in another function with the same name?"
msgstr ""
-#: d/dmd/dsymbolsem.c:3976
+#: d/dmd/dsymbolsem.c:4043
#, gcc-internal-format
msgid ""
"storage class `auto` is invalid when declaring a class, did you mean to use "
"`scope`?"
msgstr ""
-#: d/dmd/dsymbolsem.c:4039
+#: d/dmd/dsymbolsem.c:4106
#, gcc-internal-format, gfc-internal-format
msgid "base type must be class or interface, not %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:4062
+#: d/dmd/dsymbolsem.c:4129
#, gcc-internal-format
msgid "circular inheritance"
msgstr ""
-#: d/dmd/dsymbolsem.c:4098 d/dmd/dsymbolsem.c:4588
+#: d/dmd/dsymbolsem.c:4165 d/dmd/dsymbolsem.c:4655
#, gcc-internal-format, gfc-internal-format
msgid "base type must be interface, not %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:4109 d/dmd/dsymbolsem.c:4599
+#: d/dmd/dsymbolsem.c:4176 d/dmd/dsymbolsem.c:4666
#, gcc-internal-format, gfc-internal-format
msgid "inherits from duplicate interface %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:4173
+#: d/dmd/dsymbolsem.c:4240
#, gcc-internal-format, gfc-internal-format
msgid "cannot inherit from final class %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:4273
+#: d/dmd/dsymbolsem.c:4340
#, gcc-internal-format, gfc-internal-format
msgid "C++ base class %s needs at least one virtual function"
msgstr ""
-#: d/dmd/dsymbolsem.c:4297
+#: d/dmd/dsymbolsem.c:4364
#, gcc-internal-format, gfc-internal-format
msgid "static class cannot inherit from nested class %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:4305
+#: d/dmd/dsymbolsem.c:4372
#, gcc-internal-format, gfc-internal-format
msgid "is nested within %s, but super class %s is nested within %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:4312
+#: d/dmd/dsymbolsem.c:4379
#, gcc-internal-format, gfc-internal-format
msgid "is not nested, but super class %s is nested within %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:4420
+#: d/dmd/dsymbolsem.c:4487
#, gcc-internal-format, gfc-internal-format
msgid ""
"cannot implicitly generate a default ctor when base class %s is missing a "
"default ctor"
msgstr ""
-#: d/dmd/dsymbolsem.c:4467
+#: d/dmd/dsymbolsem.c:4534
#, gcc-internal-format, gfc-internal-format
msgid "Field members of a synchronized class cannot be %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:4607
+#: d/dmd/dsymbolsem.c:4674
#, gcc-internal-format
msgid "circular inheritance of interface"
msgstr ""
-#: d/dmd/dsymbolsem.c:4841
+#: d/dmd/dsymbolsem.c:4956
#, gcc-internal-format
msgid "mixin templates are not regular templates"
msgstr ""
-#: d/dmd/dsymbolsem.c:5028
+#: d/dmd/dsymbolsem.c:5158
#, gcc-internal-format, gfc-internal-format
msgid "template instantiation %s forward references template declaration %s"
msgstr ""
-#: d/dmd/dsymbolsem.c:5409
+#: d/dmd/dsymbolsem.c:5540
#, gcc-internal-format
msgid "cannot resolve"
msgstr ""
-#: d/dmd/dsymbolsem.c:5436
+#: d/dmd/dsymbolsem.c:5567
#, gcc-internal-format, gfc-internal-format
msgid "cannot alias an expression %s"
msgstr ""
@@ -61989,28 +62055,28 @@ msgstr ""
msgid "(%s) is false"
msgstr ""
-#: d/dmd/semantic2.c:210
+#: d/dmd/semantic2.c:219
#, gcc-internal-format
msgid ""
": Unable to initialize enum with class or pointer to struct. Use static "
"const variable instead."
msgstr ""
-#: d/dmd/semantic2.c:219
+#: d/dmd/semantic2.c:228
#, gcc-internal-format, gfc-internal-format
msgid ""
"is mutable. Only const or immutable class thread local variable are allowed, "
"not %s"
msgstr ""
-#: d/dmd/semantic2.c:226
+#: d/dmd/semantic2.c:235
#, gcc-internal-format, gfc-internal-format
msgid ""
"is a pointer to mutable struct. Only pointers to const, immutable or shared "
"struct thread local variable are allowed, not %s"
msgstr ""
-#: d/dmd/semantic2.c:384
+#: d/dmd/semantic2.c:404
#, gcc-internal-format
msgid "has forward references"
msgstr ""
@@ -62076,22 +62142,23 @@ msgstr ""
msgid "cannot call super() implicitly because it is annotated with @disable"
msgstr ""
-#: d/dmd/semantic3.c:860
+#: d/dmd/semantic3.c:862
#, gcc-internal-format, gfc-internal-format
-msgid "has no return statement, but is expected to return a value of type %s"
+msgid ""
+"has no `return` statement, but is expected to return a value of type `%s`"
msgstr ""
-#: d/dmd/semantic3.c:862
+#: d/dmd/semantic3.c:864
#, gcc-internal-format
-msgid "no return exp; or assert(0); at end of function"
+msgid "no `return exp;` or `assert(0);` at end of function"
msgstr ""
-#: d/dmd/semantic3.c:1193
+#: d/dmd/semantic3.c:1171
#, gcc-internal-format, gfc-internal-format
msgid "synchronized function %s must be a member of a class"
msgstr ""
-#: d/dmd/semantic3.c:1212
+#: d/dmd/semantic3.c:1190
#, gcc-internal-format
msgid "naked assembly functions with contracts are not supported"
msgstr ""
@@ -62639,7 +62706,7 @@ msgstr ""
msgid "Arguments of %qs at %L and %L cannot both be BOZ literal constants"
msgstr ""
-#: fortran/check.c:123 fortran/resolve.c:10921
+#: fortran/check.c:123 fortran/resolve.c:10929
#, gcc-internal-format, gfc-internal-format
msgid "Invalid use of BOZ literal constant at %L"
msgstr ""
@@ -63855,12 +63922,12 @@ msgstr ""
msgid "Initialization string at %L was truncated to fit the variable (%ld/%ld)"
msgstr ""
-#: fortran/data.c:188 fortran/resolve.c:5099
+#: fortran/data.c:188 fortran/resolve.c:5107
#, gcc-internal-format, gfc-internal-format
msgid "Substring start index at %L is less than one"
msgstr ""
-#: fortran/data.c:194 fortran/resolve.c:5129
+#: fortran/data.c:194 fortran/resolve.c:5137
#, gcc-internal-format, gfc-internal-format
msgid "Substring end index at %L exceeds the string length"
msgstr ""
@@ -64049,7 +64116,7 @@ msgstr ""
msgid "deferred type parameter at %C"
msgstr ""
-#: fortran/decl.c:1155 fortran/resolve.c:12452
+#: fortran/decl.c:1155 fortran/resolve.c:12461
#, gcc-internal-format, gfc-internal-format
msgid "Scalar INTEGER expression expected at %L"
msgstr ""
@@ -66691,7 +66758,7 @@ msgid "Illegal id in copy_walk_reduction_arg"
msgstr ""
#: fortran/frontend-passes.c:870 fortran/trans-array.c:1356
-#: fortran/trans-array.c:6713 fortran/trans-array.c:8208
+#: fortran/trans-array.c:6680 fortran/trans-array.c:8175
#: fortran/trans-intrinsic.c:8549
#, gcc-internal-format, gfc-internal-format
msgid "Creating array temporary at %L"
@@ -66788,7 +66855,7 @@ msgid ""
"INTENT(INOUT) argument to function %qs"
msgstr ""
-#: fortran/frontend-passes.c:3458 fortran/trans-expr.c:1794
+#: fortran/frontend-passes.c:3458 fortran/trans-expr.c:1831
#, gcc-internal-format, gfc-internal-format
msgid "Code for reallocating the allocatable array at %L will be added"
msgstr ""
@@ -66927,12 +66994,12 @@ msgstr ""
msgid "Second argument of defined assignment at %L must be INTENT(IN)"
msgstr ""
-#: fortran/interface.c:987 fortran/resolve.c:17201
+#: fortran/interface.c:987 fortran/resolve.c:17210
#, gcc-internal-format, gfc-internal-format
msgid "First argument of operator interface at %L must be INTENT(IN)"
msgstr ""
-#: fortran/interface.c:994 fortran/resolve.c:17219
+#: fortran/interface.c:994 fortran/resolve.c:17228
#, gcc-internal-format, gfc-internal-format
msgid "Second argument of operator interface at %L must be INTENT(IN)"
msgstr ""
@@ -67059,53 +67126,53 @@ msgid ""
"%d and rank-%d)"
msgstr ""
-#: fortran/interface.c:2355
+#: fortran/interface.c:2356
#, gcc-internal-format, gfc-internal-format
msgid "Invalid procedure argument at %L"
msgstr ""
-#: fortran/interface.c:2363 fortran/interface.c:2390
+#: fortran/interface.c:2364 fortran/interface.c:2391
#, gcc-internal-format
msgid "Interface mismatch in dummy procedure %qs at %L: %s"
msgstr ""
-#: fortran/interface.c:2401
+#: fortran/interface.c:2402
#, gcc-internal-format
msgid ""
"Actual argument to contiguous pointer dummy %qs at %L must be simply "
"contiguous"
msgstr ""
-#: fortran/interface.c:2424
+#: fortran/interface.c:2425
#, gcc-internal-format, gfc-internal-format
msgid ""
"Type mismatch between actual argument at %L and actual argument at %L (%s/"
"%s)."
msgstr ""
-#: fortran/interface.c:2434
+#: fortran/interface.c:2435
#, gcc-internal-format
msgid "Type mismatch in argument %qs at %L; passed %s to %s"
msgstr ""
-#: fortran/interface.c:2444
+#: fortran/interface.c:2445
#, gcc-internal-format
msgid ""
"Assumed-type actual argument at %L requires that dummy argument %qs is of "
"assumed type"
msgstr ""
-#: fortran/interface.c:2460
+#: fortran/interface.c:2461
#, gcc-internal-format
msgid "Actual argument to %qs at %L must be polymorphic"
msgstr ""
-#: fortran/interface.c:2470
+#: fortran/interface.c:2471
#, gcc-internal-format
msgid "Actual argument to %qs at %L must have the same declared type"
msgstr ""
-#: fortran/interface.c:2485
+#: fortran/interface.c:2486
#, gcc-internal-format
msgid ""
"Actual argument to %qs at %L must be unlimited polymorphic since the formal "
@@ -67113,38 +67180,38 @@ msgid ""
"12.5.2.5]"
msgstr ""
-#: fortran/interface.c:2496
+#: fortran/interface.c:2502
#, gcc-internal-format
msgid "Actual argument to %qs at %L must be a coarray"
msgstr ""
-#: fortran/interface.c:2515
+#: fortran/interface.c:2521
#, gcc-internal-format
msgid "Corank mismatch in argument %qs at %L (%d and %d)"
msgstr ""
-#: fortran/interface.c:2533
+#: fortran/interface.c:2539
#, gcc-internal-format
msgid ""
"Actual argument to %qs at %L must be simply contiguous or an element of such "
"an array"
msgstr ""
-#: fortran/interface.c:2548
+#: fortran/interface.c:2554
#, 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.c:2563
+#: fortran/interface.c:2569
#, 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.c:2582
+#: fortran/interface.c:2588
#, gcc-internal-format
msgid ""
"Dummy argument %qs has to be a pointer, assumed-shape or assumed-rank array "
@@ -67152,202 +67219,202 @@ msgid ""
"contiguous and both are ASYNCHRONOUS or VOLATILE"
msgstr ""
-#: fortran/interface.c:2595
+#: fortran/interface.c:2601
#, gcc-internal-format
msgid ""
"Passing coarray at %L to allocatable, noncoarray, INTENT(OUT) dummy argument "
"%qs"
msgstr ""
-#: fortran/interface.c:2602
+#: fortran/interface.c:2608
#, 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.c:2676
+#: fortran/interface.c:2682
#, gcc-internal-format
msgid "Polymorphic scalar passed to array dummy argument %qs at %L"
msgstr ""
-#: fortran/interface.c:2687
+#: fortran/interface.c:2693
#, 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.c:2692
+#: fortran/interface.c:2698
#, gcc-internal-format
msgid ""
"Element of assumed-shape or pointer array passed to array dummy argument %qs "
"at %L"
msgstr ""
-#: fortran/interface.c:2705
+#: fortran/interface.c:2711
#, 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.c:2713
+#: fortran/interface.c:2719
#, gcc-internal-format
msgid ""
"Fortran 2003: Scalar CHARACTER actual argument with array dummy argument %qs "
"at %L"
msgstr ""
-#: fortran/interface.c:3064
+#: fortran/interface.c:3070
#, gcc-internal-format
msgid "Keyword argument %qs at %L is invalid in a statement function"
msgstr ""
-#: fortran/interface.c:3087
+#: fortran/interface.c:3093
#, gcc-internal-format
msgid "Keyword argument %qs at %L is not in the procedure; did you mean %qs?"
msgstr ""
-#: fortran/interface.c:3091
+#: fortran/interface.c:3097
#, gcc-internal-format
msgid "Keyword argument %qs at %L is not in the procedure"
msgstr ""
-#: fortran/interface.c:3100
+#: fortran/interface.c:3106
#, gcc-internal-format
msgid ""
"Keyword argument %qs at %L is already associated with another actual argument"
msgstr ""
-#: fortran/interface.c:3110
+#: fortran/interface.c:3116
#, gcc-internal-format, gfc-internal-format
msgid "More actual than formal arguments in procedure call at %L"
msgstr ""
-#: fortran/interface.c:3124
+#: fortran/interface.c:3130
#, gcc-internal-format, gfc-internal-format
msgid "Missing alternate return specifier in subroutine call at %L"
msgstr ""
-#: fortran/interface.c:3136
+#: fortran/interface.c:3142
#, gcc-internal-format, gfc-internal-format
msgid "Unexpected alternate return specifier in subroutine call at %L"
msgstr ""
-#: fortran/interface.c:3165
+#: fortran/interface.c:3171
#, gcc-internal-format
msgid "Unexpected NULL() intrinsic at %L to dummy %qs"
msgstr ""
-#: fortran/interface.c:3168
+#: fortran/interface.c:3174
#, gcc-internal-format
msgid "Fortran 2008: Null pointer at %L to non-pointer dummy %qs"
msgstr ""
-#: fortran/interface.c:3192
+#: fortran/interface.c:3198
#, gcc-internal-format, gfc-internal-format
msgid ""
"Actual argument at %L to assumed-type dummy is of derived type with type-"
"bound or FINAL procedures"
msgstr ""
-#: fortran/interface.c:3214
+#: fortran/interface.c:3220
#, gcc-internal-format
msgid ""
"Character length mismatch (%ld/%ld) between actual argument and pointer or "
"allocatable dummy argument %qs at %L"
msgstr ""
-#: fortran/interface.c:3221
+#: fortran/interface.c:3227
#, gcc-internal-format
msgid ""
"Character length mismatch (%ld/%ld) between actual argument and assumed-"
"shape dummy argument %qs at %L"
msgstr ""
-#: fortran/interface.c:3235
+#: fortran/interface.c:3241
#, 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.c:3252
+#: fortran/interface.c:3258
#, gcc-internal-format
msgid ""
"Character length of actual argument shorter than of dummy argument %qs (%lu/"
"%lu) at %L"
msgstr ""
-#: fortran/interface.c:3260 fortran/interface.c:3265
+#: fortran/interface.c:3266 fortran/interface.c:3271
#, gcc-internal-format
msgid ""
"Actual argument contains too few elements for dummy argument %qs (%lu/%lu) "
"at %L"
msgstr ""
-#: fortran/interface.c:3285
+#: fortran/interface.c:3291
#, gcc-internal-format
msgid "Expected a procedure pointer for argument %qs at %L"
msgstr ""
-#: fortran/interface.c:3301
+#: fortran/interface.c:3307
#, gcc-internal-format
msgid "Expected a procedure for argument %qs at %L"
msgstr ""
-#: fortran/interface.c:3318
+#: fortran/interface.c:3324
#, gcc-internal-format
msgid "Actual argument for %qs cannot be an assumed-size array at %L"
msgstr ""
-#: fortran/interface.c:3327
+#: fortran/interface.c:3333
#, gcc-internal-format
msgid "Actual argument for %qs must be a pointer at %L"
msgstr ""
-#: fortran/interface.c:3337
+#: fortran/interface.c:3343
#, gcc-internal-format
msgid "Fortran 2008: Non-pointer actual argument at %L to pointer dummy %qs"
msgstr ""
-#: fortran/interface.c:3347
+#: fortran/interface.c:3353
#, gcc-internal-format
msgid "Coindexed actual argument at %L to pointer dummy %qs"
msgstr ""
-#: fortran/interface.c:3360
+#: fortran/interface.c:3366
#, gcc-internal-format
msgid ""
"Coindexed actual argument at %L to allocatable dummy %qs requires INTENT(IN)"
msgstr ""
-#: fortran/interface.c:3374
+#: fortran/interface.c:3380
#, gcc-internal-format
msgid ""
"Coindexed ASYNCHRONOUS or VOLATILE actual argument at %L requires that dummy "
"%qs has neither ASYNCHRONOUS nor VOLATILE"
msgstr ""
-#: fortran/interface.c:3388
+#: fortran/interface.c:3394
#, 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.c:3400
+#: fortran/interface.c:3406
#, gcc-internal-format
msgid "Actual CLASS array argument for %qs must be a full array at %L"
msgstr ""
-#: fortran/interface.c:3410
+#: fortran/interface.c:3416
#, gcc-internal-format
msgid "Actual argument for %qs must be ALLOCATABLE at %L"
msgstr ""
-#: fortran/interface.c:3440
+#: fortran/interface.c:3446
#, gcc-internal-format
msgid ""
"Array-section actual argument with vector subscripts at %L is incompatible "
@@ -67355,334 +67422,334 @@ msgid ""
"dummy argument %qs"
msgstr ""
-#: fortran/interface.c:3459
+#: fortran/interface.c:3465
#, 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.c:3476
+#: fortran/interface.c:3482
#, 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.c:3496
+#: fortran/interface.c:3502
#, 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.c:3519
+#: fortran/interface.c:3525
#, gcc-internal-format, gfc-internal-format
msgid "Missing alternate return spec in subroutine call at %L"
msgstr ""
-#: fortran/interface.c:3527
+#: fortran/interface.c:3533
#, gcc-internal-format
msgid "Missing actual argument for argument %qs at %L"
msgstr ""
-#: fortran/interface.c:3657
+#: fortran/interface.c:3663
#, gcc-internal-format
msgid "compare_actual_expr(): Bad component code"
msgstr ""
-#: fortran/interface.c:3686
+#: fortran/interface.c:3692
#, gcc-internal-format
msgid "check_some_aliasing(): List mismatch"
msgstr ""
-#: fortran/interface.c:3712
+#: fortran/interface.c:3718
#, gcc-internal-format
msgid "check_some_aliasing(): corrupted data"
msgstr ""
-#: fortran/interface.c:3722
+#: fortran/interface.c:3728
#, gcc-internal-format
msgid ""
"Same actual argument associated with INTENT(%s) argument %qs and INTENT(%s) "
"argument %qs at %L"
msgstr ""
-#: fortran/interface.c:3752
+#: fortran/interface.c:3758
#, gcc-internal-format
msgid "check_intents(): List mismatch"
msgstr ""
-#: fortran/interface.c:3772
+#: fortran/interface.c:3778
#, 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.c:3784
+#: fortran/interface.c:3790
#, 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.c:3794
+#: fortran/interface.c:3800
#, 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.c:3805
+#: fortran/interface.c:3811
#, gcc-internal-format
msgid ""
"Coindexed polymorphic actual argument at %L is passed polymorphic dummy "
"argument %qs"
msgstr ""
-#: fortran/interface.c:3847
+#: fortran/interface.c:3853
#, gcc-internal-format
msgid ""
"Procedure %qs called at %L is not explicitly declared; did you mean %qs?"
msgstr ""
-#: fortran/interface.c:3851 fortran/interface.c:3861
+#: fortran/interface.c:3857 fortran/interface.c:3867
#, gcc-internal-format
msgid "Procedure %qs called at %L is not explicitly declared"
msgstr ""
-#: fortran/interface.c:3857
+#: fortran/interface.c:3863
#, gcc-internal-format
msgid "Procedure %qs called with an implicit interface at %L"
msgstr ""
-#: fortran/interface.c:3870
+#: fortran/interface.c:3876
#, gcc-internal-format
msgid ""
"The pointer object %qs at %L must have an explicit function interface or be "
"declared as array"
msgstr ""
-#: fortran/interface.c:3878
+#: fortran/interface.c:3884
#, gcc-internal-format
msgid ""
"The allocatable object %qs at %L must have an explicit function interface or "
"be declared as array"
msgstr ""
-#: fortran/interface.c:3886
+#: fortran/interface.c:3892
#, gcc-internal-format
msgid "Allocatable function %qs at %L must have an explicit function interface"
msgstr ""
-#: fortran/interface.c:3903
+#: fortran/interface.c:3909
#, gcc-internal-format, gfc-internal-format
msgid "Explicit interface required for polymorphic argument at %L"
msgstr ""
-#: fortran/interface.c:3912
+#: fortran/interface.c:3918
#, gcc-internal-format
msgid "Keyword argument requires explicit interface for procedure %qs at %L"
msgstr ""
-#: fortran/interface.c:3921
+#: fortran/interface.c:3927
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-type argument %s at %L requires an explicit interface"
msgstr ""
-#: fortran/interface.c:3936
+#: fortran/interface.c:3942
#, 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.c:3951
+#: fortran/interface.c:3957
#, 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.c:3961
+#: fortran/interface.c:3967
#, gcc-internal-format, gfc-internal-format
msgid "MOLD argument to NULL required at %L"
msgstr ""
-#: fortran/interface.c:3971
+#: fortran/interface.c:3977
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-rank argument requires an explicit interface at %L"
msgstr ""
-#: fortran/interface.c:4013
+#: fortran/interface.c:4019
#, gcc-internal-format
msgid "Procedure pointer component %qs called with an implicit interface at %L"
msgstr ""
-#: fortran/interface.c:4024
+#: fortran/interface.c:4030
#, gcc-internal-format
msgid ""
"Keyword argument requires explicit interface for procedure pointer component "
"%qs at %L"
msgstr ""
-#: fortran/interface.c:4109
+#: fortran/interface.c:4115
#, gcc-internal-format, gfc-internal-format
msgid ""
"MOLD= required in NULL() argument at %L: Ambiguity between specific "
"functions %s and %s"
msgstr ""
-#: fortran/interface.c:4179
+#: fortran/interface.c:4185
#, gcc-internal-format
msgid "Unable to find symbol %qs"
msgstr ""
-#: fortran/interface.c:4552
+#: fortran/interface.c:4558
#, gcc-internal-format
msgid "Entity %qs at %L is already present in the interface"
msgstr ""
-#: fortran/interface.c:4669
+#: fortran/interface.c:4675
#, gcc-internal-format
msgid "gfc_add_interface(): Bad interface type"
msgstr ""
-#: fortran/interface.c:4763
+#: fortran/interface.c:4769
#, gcc-internal-format
msgid "Cannot overwrite GENERIC %qs at %L"
msgstr ""
-#: fortran/interface.c:4775
+#: fortran/interface.c:4781
#, gcc-internal-format
msgid "%qs at %L overrides a procedure binding declared NON_OVERRIDABLE"
msgstr ""
-#: fortran/interface.c:4783
+#: fortran/interface.c:4789
#, gcc-internal-format
msgid "%qs at %L must not be DEFERRED as it overrides a non-DEFERRED binding"
msgstr ""
-#: fortran/interface.c:4791
+#: fortran/interface.c:4797
#, gcc-internal-format
msgid "%qs at %L overrides a PURE procedure and must also be PURE"
msgstr ""
-#: fortran/interface.c:4800
+#: fortran/interface.c:4806
#, gcc-internal-format
msgid "%qs at %L overrides an ELEMENTAL procedure and must also be ELEMENTAL"
msgstr ""
-#: fortran/interface.c:4806
+#: fortran/interface.c:4812
#, gcc-internal-format
msgid ""
"%qs at %L overrides a non-ELEMENTAL procedure and must not be ELEMENTAL, "
"either"
msgstr ""
-#: fortran/interface.c:4815
+#: fortran/interface.c:4821
#, gcc-internal-format
msgid "%qs at %L overrides a SUBROUTINE and must also be a SUBROUTINE"
msgstr ""
-#: fortran/interface.c:4826
+#: fortran/interface.c:4832
#, gcc-internal-format
msgid "%qs at %L overrides a FUNCTION and must also be a FUNCTION"
msgstr ""
-#: fortran/interface.c:4834
+#: fortran/interface.c:4840
#, gcc-internal-format
msgid "Result mismatch for the overriding procedure %qs at %L: %s"
msgstr ""
-#: fortran/interface.c:4845
+#: fortran/interface.c:4851
#, gcc-internal-format
msgid "%qs at %L overrides a PUBLIC procedure and must not be PRIVATE"
msgstr ""
-#: fortran/interface.c:4875
+#: fortran/interface.c:4881
#, 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.c:4886
+#: fortran/interface.c:4892
#, gcc-internal-format
msgid "Argument mismatch for the overriding procedure %qs at %L: %s"
msgstr ""
-#: fortran/interface.c:4895
+#: fortran/interface.c:4901
#, gcc-internal-format
msgid ""
"%qs at %L must have the same number of formal arguments as the overridden "
"procedure"
msgstr ""
-#: fortran/interface.c:4904
+#: fortran/interface.c:4910
#, gcc-internal-format
msgid "%qs at %L overrides a NOPASS binding and must also be NOPASS"
msgstr ""
-#: fortran/interface.c:4915
+#: fortran/interface.c:4921
#, gcc-internal-format
msgid "%qs at %L overrides a binding with PASS and must also be PASS"
msgstr ""
-#: fortran/interface.c:4922
+#: fortran/interface.c:4928
#, 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.c:4943
+#: fortran/interface.c:4949
#, gcc-internal-format, gfc-internal-format
msgid "DTIO dummy argument at %L must be of type %s"
msgstr ""
-#: fortran/interface.c:4950
+#: fortran/interface.c:4956
#, gcc-internal-format, gfc-internal-format
msgid "DTIO dummy argument at %L must be of KIND = %d"
msgstr ""
-#: fortran/interface.c:4957
+#: fortran/interface.c:4963
#, gcc-internal-format, gfc-internal-format
msgid "DTIO dummy argument at %L must be a scalar"
msgstr ""
-#: fortran/interface.c:4961
+#: fortran/interface.c:4967
#, gcc-internal-format, gfc-internal-format
msgid "DTIO dummy argument at %L must be an ASSUMED SHAPE ARRAY"
msgstr ""
-#: fortran/interface.c:4965
+#: fortran/interface.c:4971
#, gcc-internal-format, gfc-internal-format
msgid "DTIO character argument at %L must have assumed length"
msgstr ""
-#: fortran/interface.c:4969
+#: fortran/interface.c:4975
#, gcc-internal-format, gfc-internal-format
msgid "DTIO dummy argument at %L must have INTENT %s"
msgstr ""
-#: fortran/interface.c:5027 fortran/interface.c:5073
+#: fortran/interface.c:5033 fortran/interface.c:5079
#, gcc-internal-format, gfc-internal-format
msgid "Alternate return at %L is not permitted in a DTIO procedure"
msgstr ""
-#: fortran/interface.c:5039
+#: fortran/interface.c:5045
#, gcc-internal-format
msgid "DTIO procedure %qs at %L must be a subroutine"
msgstr ""
-#: fortran/interface.c:5051
+#: fortran/interface.c:5057
#, gcc-internal-format
msgid "Too few dummy arguments in DTIO procedure %qs at %L"
msgstr ""
-#: fortran/interface.c:5058
+#: fortran/interface.c:5064
#, gcc-internal-format
msgid "Too many dummy arguments in DTIO procedure %qs at %L"
msgstr ""
@@ -67847,34 +67914,34 @@ msgid ""
"character arguments at %L"
msgstr ""
-#: fortran/intrinsic.c:5149
+#: fortran/intrinsic.c:5154
#, gcc-internal-format
msgid ""
"Subroutine call to intrinsic %qs in DO CONCURRENT block at %L is not PURE"
msgstr ""
-#: fortran/intrinsic.c:5156
+#: fortran/intrinsic.c:5161
#, gcc-internal-format
msgid "Subroutine call to intrinsic %qs at %L is not PURE"
msgstr ""
-#: fortran/intrinsic.c:5258
+#: fortran/intrinsic.c:5263
#, gcc-internal-format, gfc-internal-format
msgid "Extension: Conversion from %s to %s at %L"
msgstr ""
-#: fortran/intrinsic.c:5279
+#: fortran/intrinsic.c:5284
#, gcc-internal-format, gfc-internal-format
msgid "Nonstandard conversion from %s to %s at %L"
msgstr ""
-#: fortran/intrinsic.c:5296 fortran/intrinsic.c:5313
+#: fortran/intrinsic.c:5301 fortran/intrinsic.c:5318
#, 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.c:5301 fortran/intrinsic.c:5321
+#: fortran/intrinsic.c:5306 fortran/intrinsic.c:5326
#, gcc-internal-format, gfc-internal-format
msgid "Conversion from %s to %s at %L"
msgstr ""
@@ -67882,24 +67949,24 @@ msgstr ""
#. Use of -fdec-char-conversions allows assignment of character data
#. to non-character variables. This not permited for nonconstant
#. strings.
-#: fortran/intrinsic.c:5387 fortran/resolve.c:10896
+#: fortran/intrinsic.c:5392 fortran/resolve.c:10904
#, gcc-internal-format, gfc-internal-format
msgid "Cannot convert %s to %s at %L"
msgstr ""
-#: fortran/intrinsic.c:5392
+#: fortran/intrinsic.c:5397
#, gcc-internal-format
msgid "Cannot convert %qs to %qs at %L"
msgstr ""
-#: fortran/intrinsic.c:5483
+#: fortran/intrinsic.c:5488
#, 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.c:5489
+#: fortran/intrinsic.c:5494
#, gcc-internal-format
msgid ""
"%qs declared at %L is also the name of an intrinsic. It can only be called "
@@ -68450,7 +68517,7 @@ msgid ""
"defined input/output procedure"
msgstr ""
-#: fortran/io.c:3431 fortran/resolve.c:15073
+#: fortran/io.c:3431 fortran/resolve.c:15082
#, gcc-internal-format
msgid ""
"NAMELIST object %qs in namelist %qs at %L with ALLOCATABLE or POINTER "
@@ -69671,12 +69738,12 @@ msgstr ""
msgid "gfc_basic_typename(): Undefined type"
msgstr ""
-#: fortran/misc.c:205
+#: fortran/misc.c:207
#, gcc-internal-format
msgid "gfc_typename(): Undefined type"
msgstr ""
-#: fortran/misc.c:309
+#: fortran/misc.c:311
#, gcc-internal-format
msgid "gfc_code2string(): Bad code"
msgstr ""
@@ -69837,160 +69904,160 @@ msgstr ""
msgid "write_symbol(): bad module symbol %qs"
msgstr ""
-#: fortran/module.c:6223
+#: fortran/module.c:6234
#, gcc-internal-format
msgid "write_symtree(): Symbol not written"
msgstr ""
-#: fortran/module.c:6413
+#: fortran/module.c:6424
#, gcc-internal-format
msgid "Cannot open module file %qs for writing at %C: %s"
msgstr ""
-#: fortran/module.c:6434
+#: fortran/module.c:6445
#, gcc-internal-format
msgid "Error writing module file %qs for writing: %s"
msgstr ""
-#: fortran/module.c:6445
+#: fortran/module.c:6456
#, gcc-internal-format
msgid "Cannot delete module file %qs: %s"
msgstr ""
-#: fortran/module.c:6448
+#: fortran/module.c:6459
#, gcc-internal-format
msgid "Cannot rename module file %qs to %qs: %s"
msgstr ""
-#: fortran/module.c:6454
+#: fortran/module.c:6465
#, gcc-internal-format
msgid "Cannot delete temporary module file %qs: %s"
msgstr ""
-#: fortran/module.c:6511
+#: fortran/module.c:6522
#, gcc-internal-format
msgid "Symbol %qs at %C already declared"
msgstr ""
-#: fortran/module.c:6582
+#: fortran/module.c:6593
#, gcc-internal-format, gfc-internal-format
msgid "import_iso_c_binding_module(): Unable to create symbol for %s"
msgstr ""
-#: fortran/module.c:6690 fortran/module.c:7034
+#: fortran/module.c:6701 fortran/module.c:7045
#, gcc-internal-format
msgid "The symbol %qs, referenced at %L, is not in the selected standard"
msgstr ""
-#: fortran/module.c:6818
+#: fortran/module.c:6829
#, gcc-internal-format
msgid "Symbol %qs referenced at %L not found in intrinsic module ISO_C_BINDING"
msgstr ""
-#: fortran/module.c:6839 fortran/module.c:6872 fortran/module.c:6914
+#: fortran/module.c:6850 fortran/module.c:6883 fortran/module.c:6925
#, gcc-internal-format
msgid "Symbol %qs already declared"
msgstr ""
-#: fortran/module.c:7019
+#: fortran/module.c:7030
#, gcc-internal-format
msgid ""
"Use of intrinsic module %qs at %C conflicts with non-intrinsic module name "
"used previously"
msgstr ""
-#: fortran/module.c:7041
+#: fortran/module.c:7052
#, gcc-internal-format
msgid ""
"Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module "
"ISO_FORTRAN_ENV at %L is incompatible with option %qs"
msgstr ""
-#: fortran/module.c:7109
+#: fortran/module.c:7120
#, gcc-internal-format, gfc-internal-format
msgid ""
"Use of the NUMERIC_STORAGE_SIZE named constant from intrinsic module "
"ISO_FORTRAN_ENV at %C is incompatible with option %s"
msgstr ""
-#: fortran/module.c:7163
+#: fortran/module.c:7174
#, gcc-internal-format
msgid ""
"Symbol %qs referenced at %L not found in intrinsic module ISO_FORTRAN_ENV"
msgstr ""
-#: fortran/module.c:7189
+#: fortran/module.c:7200
#, gcc-internal-format, gfc-internal-format
msgid "USE statement at %C has no ONLY qualifier"
msgstr ""
-#: fortran/module.c:7218
+#: fortran/module.c:7229
#, gcc-internal-format, gfc-internal-format
msgid "ISO_FORTRAN_ENV intrinsic module at %C"
msgstr ""
-#: fortran/module.c:7230
+#: fortran/module.c:7241
#, gcc-internal-format, gfc-internal-format
msgid "ISO_C_BINDING module at %C"
msgstr ""
-#: fortran/module.c:7243
+#: fortran/module.c:7254
#, gcc-internal-format
msgid "Cannot find an intrinsic module named %qs at %C"
msgstr ""
-#: fortran/module.c:7249
+#: fortran/module.c:7260
#, gcc-internal-format, gfc-internal-format
msgid "IEEE_FEATURES module at %C"
msgstr ""
-#: fortran/module.c:7255
+#: fortran/module.c:7266
#, gcc-internal-format, gfc-internal-format
msgid "IEEE_EXCEPTIONS module at %C"
msgstr ""
-#: fortran/module.c:7261
+#: fortran/module.c:7272
#, gcc-internal-format, gfc-internal-format
msgid "IEEE_ARITHMETIC module at %C"
msgstr ""
-#: fortran/module.c:7271
+#: fortran/module.c:7282
#, gcc-internal-format
msgid "Cannot open module file %qs for reading at %C: %s"
msgstr ""
-#: fortran/module.c:7274
+#: fortran/module.c:7285
#, gcc-internal-format
msgid ""
"Module file %qs has not been generated, either because the module does not "
"contain a MODULE PROCEDURE or there is an error in the module."
msgstr ""
-#: fortran/module.c:7285
+#: fortran/module.c:7296
#, gcc-internal-format
msgid ""
"Use of non-intrinsic module %qs at %C conflicts with intrinsic module name "
"used previously"
msgstr ""
-#: fortran/module.c:7308
+#: fortran/module.c:7319
#, gcc-internal-format
msgid "File %qs opened at %C is not a GNU Fortran module file"
msgstr ""
-#: fortran/module.c:7316
+#: fortran/module.c:7327
#, gcc-internal-format
msgid ""
"Cannot read module file %qs opened at %C, because it was created by a "
"different version of GNU Fortran"
msgstr ""
-#: fortran/module.c:7333
+#: fortran/module.c:7344
#, gcc-internal-format
msgid "Cannot USE a submodule that is currently built"
msgstr ""
-#: fortran/module.c:7335
+#: fortran/module.c:7346
#, gcc-internal-format
msgid "Cannot USE a module that is currently built"
msgstr ""
@@ -70580,8 +70647,8 @@ msgstr ""
msgid "ORDERED clause parameter is less than COLLAPSE at %L"
msgstr ""
-#: fortran/openmp.c:4722 fortran/openmp.c:4733 fortran/resolve.c:10721
-#: fortran/resolve.c:12026
+#: fortran/openmp.c:4722 fortran/openmp.c:4733 fortran/resolve.c:10729
+#: fortran/resolve.c:12035
#, gcc-internal-format, gfc-internal-format
msgid "IF clause at %L requires a scalar LOGICAL expression"
msgstr ""
@@ -72796,7 +72863,7 @@ msgid ""
"Declare it RECURSIVE or use %<-frecursive%>"
msgstr ""
-#: fortran/resolve.c:1926 fortran/resolve.c:10250 fortran/resolve.c:11954
+#: fortran/resolve.c:1926 fortran/resolve.c:10258 fortran/resolve.c:11962
#, gcc-internal-format, gfc-internal-format
msgid "Label %d referenced at %L is never defined"
msgstr ""
@@ -72923,7 +72990,7 @@ msgstr ""
msgid "Function %qs at %L has no IMPLICIT type; did you mean %qs?"
msgstr ""
-#: fortran/resolve.c:2961 fortran/resolve.c:17133
+#: fortran/resolve.c:2961 fortran/resolve.c:17142
#, gcc-internal-format
msgid "Function %qs at %L has no IMPLICIT type"
msgstr ""
@@ -73095,225 +73162,225 @@ msgstr ""
msgid "Impure function at %L might not be evaluated"
msgstr ""
-#: fortran/resolve.c:4020
+#: fortran/resolve.c:4021
#, gcc-internal-format
msgid "BOZ literal constant at %L cannot be an operand of unary operator %qs"
msgstr ""
-#: fortran/resolve.c:4041
+#: fortran/resolve.c:4042
#, gcc-internal-format
msgid "Operands at %L and %L cannot appear as operands of binary operator %qs"
msgstr ""
-#: fortran/resolve.c:4212 fortran/resolve.c:4227
+#: fortran/resolve.c:4216 fortran/resolve.c:4231
#, gcc-internal-format, gfc-internal-format
msgid ""
"BOZ literal constant near %L cannot appear as an operand of a relational "
"operator"
msgstr ""
-#: fortran/resolve.c:4266
+#: fortran/resolve.c:4270
#, gcc-internal-format, gfc-internal-format
msgid "Equality comparison for %s at %L"
msgstr ""
-#: fortran/resolve.c:4268
+#: fortran/resolve.c:4272
#, gcc-internal-format, gfc-internal-format
msgid "Inequality comparison for %s at %L"
msgstr ""
-#: fortran/resolve.c:4324
+#: fortran/resolve.c:4332
#, gcc-internal-format
msgid "resolve_operator(): Bad intrinsic"
msgstr ""
-#: fortran/resolve.c:4494 fortran/resolve.c:4517
+#: fortran/resolve.c:4502 fortran/resolve.c:4525
#, gcc-internal-format
msgid "compare_bound_int(): Bad expression"
msgstr ""
-#: fortran/resolve.c:4612
+#: fortran/resolve.c:4620
#, gcc-internal-format, gfc-internal-format
msgid "Array reference at %L is out of bounds (%ld < %ld) in dimension %d"
msgstr ""
-#: fortran/resolve.c:4617
+#: fortran/resolve.c:4625
#, gcc-internal-format, gfc-internal-format
msgid "Array reference at %L is out of bounds (%ld < %ld) in codimension %d"
msgstr ""
-#: fortran/resolve.c:4627
+#: fortran/resolve.c:4635
#, gcc-internal-format, gfc-internal-format
msgid "Array reference at %L is out of bounds (%ld > %ld) in dimension %d"
msgstr ""
-#: fortran/resolve.c:4632
+#: fortran/resolve.c:4640
#, gcc-internal-format, gfc-internal-format
msgid "Array reference at %L is out of bounds (%ld > %ld) in codimension %d"
msgstr ""
-#: fortran/resolve.c:4652
+#: fortran/resolve.c:4660
#, gcc-internal-format, gfc-internal-format
msgid "Illegal stride of zero at %L"
msgstr ""
-#: fortran/resolve.c:4669
+#: fortran/resolve.c:4677
#, gcc-internal-format, gfc-internal-format
msgid ""
"Lower array reference at %L is out of bounds (%ld < %ld) in dimension %d"
msgstr ""
-#: fortran/resolve.c:4677
+#: fortran/resolve.c:4685
#, gcc-internal-format, gfc-internal-format
msgid ""
"Lower array reference at %L is out of bounds (%ld > %ld) in dimension %d"
msgstr ""
-#: fortran/resolve.c:4693
+#: fortran/resolve.c:4701
#, gcc-internal-format, gfc-internal-format
msgid ""
"Upper array reference at %L is out of bounds (%ld < %ld) in dimension %d"
msgstr ""
-#: fortran/resolve.c:4702
+#: fortran/resolve.c:4710
#, gcc-internal-format, gfc-internal-format
msgid ""
"Upper array reference at %L is out of bounds (%ld > %ld) in dimension %d"
msgstr ""
-#: fortran/resolve.c:4718
+#: fortran/resolve.c:4726
#, gcc-internal-format
msgid "check_dimension(): Bad array reference"
msgstr ""
-#: fortran/resolve.c:4741
+#: fortran/resolve.c:4749
#, gcc-internal-format, gfc-internal-format
msgid "Rightmost upper bound of assumed size array section not specified at %L"
msgstr ""
-#: fortran/resolve.c:4751
+#: fortran/resolve.c:4759
#, gcc-internal-format, gfc-internal-format
msgid "Rank mismatch in array reference at %L (%d/%d)"
msgstr ""
-#: fortran/resolve.c:4759
+#: fortran/resolve.c:4767
#, gcc-internal-format, gfc-internal-format
msgid "Coindex rank mismatch in array reference at %L (%d/%d)"
msgstr ""
-#: fortran/resolve.c:4775
+#: fortran/resolve.c:4783
#, gcc-internal-format, gfc-internal-format
msgid "Coindex of codimension %d must be a scalar at %L"
msgstr ""
-#: fortran/resolve.c:4803
+#: fortran/resolve.c:4811
#, gcc-internal-format, gfc-internal-format
msgid "Array index at %L must be scalar"
msgstr ""
-#: fortran/resolve.c:4809
+#: fortran/resolve.c:4817
#, gcc-internal-format, gfc-internal-format
msgid "Array index at %L must be of INTEGER type, found %s"
msgstr ""
-#: fortran/resolve.c:4815
+#: fortran/resolve.c:4823
#, gcc-internal-format, gfc-internal-format
msgid "REAL array index at %L"
msgstr ""
-#: fortran/resolve.c:4854
+#: fortran/resolve.c:4862
#, gcc-internal-format, gfc-internal-format
msgid "Argument dim at %L must be scalar"
msgstr ""
-#: fortran/resolve.c:4861
+#: fortran/resolve.c:4869
#, gcc-internal-format, gfc-internal-format
msgid "Argument dim at %L must be of INTEGER type"
msgstr ""
-#: fortran/resolve.c:4919
+#: fortran/resolve.c:4927
#, gcc-internal-format
msgid "find_array_spec(): Missing spec"
msgstr ""
-#: fortran/resolve.c:4930
+#: fortran/resolve.c:4938
#, gcc-internal-format
msgid "find_array_spec(): unused as(1)"
msgstr ""
-#: fortran/resolve.c:4942
+#: fortran/resolve.c:4950
#, gcc-internal-format
msgid "find_array_spec(): unused as(2)"
msgstr ""
-#: fortran/resolve.c:4985
+#: fortran/resolve.c:4993
#, gcc-internal-format, gfc-internal-format
msgid "Array index at %L is an array of rank %d"
msgstr ""
-#: fortran/resolve.c:5083
+#: fortran/resolve.c:5091
#, gcc-internal-format, gfc-internal-format
msgid "Substring start index at %L must be of type INTEGER"
msgstr ""
-#: fortran/resolve.c:5090
+#: fortran/resolve.c:5098
#, gcc-internal-format, gfc-internal-format
msgid "Substring start index at %L must be scalar"
msgstr ""
-#: fortran/resolve.c:5112
+#: fortran/resolve.c:5120
#, gcc-internal-format, gfc-internal-format
msgid "Substring end index at %L must be of type INTEGER"
msgstr ""
-#: fortran/resolve.c:5119
+#: fortran/resolve.c:5127
#, gcc-internal-format, gfc-internal-format
msgid "Substring end index at %L must be scalar"
msgstr ""
-#: fortran/resolve.c:5139
+#: fortran/resolve.c:5147
#, gcc-internal-format, gfc-internal-format
msgid "Substring end index at %L is too large"
msgstr ""
-#: fortran/resolve.c:5329
+#: fortran/resolve.c:5337
#, gcc-internal-format
msgid "resolve_ref(): Bad array reference"
msgstr ""
-#: fortran/resolve.c:5343
+#: fortran/resolve.c:5351
#, 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.c:5353
+#: fortran/resolve.c:5361
#, 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.c:5399
+#: fortran/resolve.c:5407
#, gcc-internal-format, gfc-internal-format
msgid ""
"Two or more part references with nonzero rank must not be specified at %L"
msgstr ""
-#: fortran/resolve.c:5491
+#: fortran/resolve.c:5499
#, gcc-internal-format
msgid "gfc_expression_rank(): Two array specs"
msgstr ""
-#: fortran/resolve.c:5573
+#: fortran/resolve.c:5581
#, 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.c:5583
+#: fortran/resolve.c:5591
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-type variable %s at %L may only be used as actual argument"
msgstr ""
@@ -73322,14 +73389,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.c:5593
+#: fortran/resolve.c:5601
#, 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.c:5612
+#: fortran/resolve.c:5620
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-rank variable %s at %L may only be used as actual argument"
msgstr ""
@@ -73338,321 +73405,321 @@ msgstr ""
#. for all inquiry functions in resolve_function; the reason is
#. that the function-name resolution happens too late in that
#. function.
-#: fortran/resolve.c:5622
+#: fortran/resolve.c:5630
#, 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.c:5633
+#: fortran/resolve.c:5641
#, 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.c:5642
+#: fortran/resolve.c:5650
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-type variable %s at %L shall not have a subobject reference"
msgstr ""
-#: fortran/resolve.c:5658
+#: fortran/resolve.c:5666
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-rank variable %s at %L shall not have a subobject reference"
msgstr ""
-#: fortran/resolve.c:5838
+#: fortran/resolve.c:5846
#, 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.c:5843
+#: fortran/resolve.c:5851
#, gcc-internal-format
msgid ""
"Variable %qs is used at %L before the ENTRY statement in which it is a "
"parameter"
msgstr ""
-#: fortran/resolve.c:5913
+#: fortran/resolve.c:5921
#, gcc-internal-format, gfc-internal-format
msgid "Polymorphic subobject of coindexed object at %L"
msgstr ""
-#: fortran/resolve.c:5926
+#: fortran/resolve.c:5934
#, gcc-internal-format, gfc-internal-format
msgid "Coindexed object with polymorphic allocatable subcomponent at %L"
msgstr ""
-#: fortran/resolve.c:5942
+#: fortran/resolve.c:5950
#, gcc-internal-format
msgid "Using variable %qs at %L is deprecated"
msgstr ""
-#: fortran/resolve.c:6030
+#: fortran/resolve.c:6038
#, 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.c:6184 fortran/resolve.c:6336
+#: fortran/resolve.c:6192 fortran/resolve.c:6344
#, gcc-internal-format, gfc-internal-format
msgid "Error in typebound call at %L"
msgstr ""
-#: fortran/resolve.c:6300
+#: fortran/resolve.c:6308
#, gcc-internal-format, gfc-internal-format
msgid "Passed-object at %L must be scalar"
msgstr ""
-#: fortran/resolve.c:6307
+#: fortran/resolve.c:6315
#, gcc-internal-format
msgid ""
"Base object for procedure-pointer component call at %L is of ABSTRACT type "
"%qs"
msgstr ""
-#: fortran/resolve.c:6346
+#: fortran/resolve.c:6354
#, gcc-internal-format
msgid "Base object for type-bound procedure call at %L is of ABSTRACT type %qs"
msgstr ""
-#: fortran/resolve.c:6355
+#: fortran/resolve.c:6363
#, 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.c:6543
+#: fortran/resolve.c:6551
#, gcc-internal-format
msgid ""
"Found no matching specific binding for the call to the GENERIC %qs at %L"
msgstr ""
-#: fortran/resolve.c:6577
+#: fortran/resolve.c:6585
#, gcc-internal-format
msgid "%qs at %L should be a SUBROUTINE"
msgstr ""
-#: fortran/resolve.c:6629
+#: fortran/resolve.c:6637
#, gcc-internal-format
msgid "%qs at %L should be a FUNCTION"
msgstr ""
-#: fortran/resolve.c:7164
+#: fortran/resolve.c:7172
#, gcc-internal-format
msgid "gfc_resolve_expr(): Bad expression type"
msgstr ""
-#: fortran/resolve.c:7197
+#: fortran/resolve.c:7205
#, gcc-internal-format, gfc-internal-format
msgid "%s at %L must be a scalar"
msgstr ""
-#: fortran/resolve.c:7207
+#: fortran/resolve.c:7215
#, gcc-internal-format, gfc-internal-format
msgid "%s at %L must be integer"
msgstr ""
-#: fortran/resolve.c:7211 fortran/resolve.c:7218
+#: fortran/resolve.c:7219 fortran/resolve.c:7226
#, gcc-internal-format, gfc-internal-format
msgid "%s at %L must be INTEGER"
msgstr ""
-#: fortran/resolve.c:7273
+#: fortran/resolve.c:7281
#, gcc-internal-format, gfc-internal-format
msgid "Step expression in DO loop at %L cannot be zero"
msgstr ""
-#: fortran/resolve.c:7296
+#: fortran/resolve.c:7304
#, gcc-internal-format, gfc-internal-format
msgid "DO loop at %L will be executed zero times"
msgstr ""
-#: fortran/resolve.c:7313
+#: fortran/resolve.c:7321
#, gcc-internal-format, gfc-internal-format
msgid "DO loop at %L is undefined as it overflows"
msgstr ""
-#: fortran/resolve.c:7319
+#: fortran/resolve.c:7327
#, gcc-internal-format, gfc-internal-format
msgid "DO loop at %L is undefined as it underflows"
msgstr ""
-#: fortran/resolve.c:7380
+#: fortran/resolve.c:7388
#, gcc-internal-format, gfc-internal-format
msgid "FORALL index-name at %L must be a scalar INTEGER"
msgstr ""
-#: fortran/resolve.c:7385
+#: fortran/resolve.c:7393
#, gcc-internal-format, gfc-internal-format
msgid "FORALL start expression at %L must be a scalar INTEGER"
msgstr ""
-#: fortran/resolve.c:7392
+#: fortran/resolve.c:7400
#, gcc-internal-format, gfc-internal-format
msgid "FORALL end expression at %L must be a scalar INTEGER"
msgstr ""
-#: fortran/resolve.c:7400
+#: fortran/resolve.c:7408
#, gcc-internal-format, gfc-internal-format
msgid "FORALL stride expression at %L must be a scalar %s"
msgstr ""
-#: fortran/resolve.c:7405
+#: fortran/resolve.c:7413
#, gcc-internal-format, gfc-internal-format
msgid "FORALL stride expression at %L cannot be zero"
msgstr ""
-#: fortran/resolve.c:7418
+#: fortran/resolve.c:7426
#, gcc-internal-format
msgid "FORALL index %qs may not appear in triplet specification at %L"
msgstr ""
-#: fortran/resolve.c:7522 fortran/resolve.c:7819
+#: fortran/resolve.c:7530 fortran/resolve.c:7827
#, gcc-internal-format, gfc-internal-format
msgid "Allocate-object at %L must be ALLOCATABLE or a POINTER"
msgstr ""
-#: fortran/resolve.c:7530 fortran/resolve.c:7783
+#: fortran/resolve.c:7538 fortran/resolve.c:7791
#, gcc-internal-format, gfc-internal-format
msgid "Coindexed allocatable object at %L"
msgstr ""
-#: fortran/resolve.c:7640
+#: fortran/resolve.c:7648
#, 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.c:7671
+#: fortran/resolve.c:7679
#, gcc-internal-format, gfc-internal-format
msgid "Source-expr at %L and allocate-object at %L must have the same shape"
msgstr ""
-#: fortran/resolve.c:7830
+#: fortran/resolve.c:7838
#, gcc-internal-format, gfc-internal-format
msgid "Type of entity at %L is type incompatible with source-expr at %L"
msgstr ""
-#: fortran/resolve.c:7842
+#: fortran/resolve.c:7850
#, 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.c:7856
+#: fortran/resolve.c:7864
#, 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.c:7871
+#: fortran/resolve.c:7879
#, 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.c:7884
+#: fortran/resolve.c:7892
#, 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.c:7902
+#: fortran/resolve.c:7910
#, 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.c:7983 fortran/resolve.c:7998
+#: fortran/resolve.c:7991 fortran/resolve.c:8006
#, gcc-internal-format, gfc-internal-format
msgid "Array specification required in ALLOCATE statement at %L"
msgstr ""
-#: fortran/resolve.c:7990
+#: fortran/resolve.c:7998
#, gcc-internal-format, gfc-internal-format
msgid ""
"Array specification or array-valued SOURCE= expression required in ALLOCATE "
"statement at %L"
msgstr ""
-#: fortran/resolve.c:8015
+#: fortran/resolve.c:8023
#, gcc-internal-format, gfc-internal-format
msgid "Coarray specification required in ALLOCATE statement at %L"
msgstr ""
-#: fortran/resolve.c:8024 fortran/resolve.c:8053 fortran/resolve.c:8081
+#: fortran/resolve.c:8032 fortran/resolve.c:8061 fortran/resolve.c:8089
#, gcc-internal-format, gfc-internal-format
msgid "Bad array specification in ALLOCATE statement at %L"
msgstr ""
-#: fortran/resolve.c:8030
+#: fortran/resolve.c:8038
#, gcc-internal-format, gfc-internal-format
msgid "Upper cobound is less than lower cobound at %L"
msgstr ""
-#: fortran/resolve.c:8042
+#: fortran/resolve.c:8050
#, gcc-internal-format, gfc-internal-format
msgid "Upper cobound is less than lower cobound of 1 at %L"
msgstr ""
-#: fortran/resolve.c:8100
+#: fortran/resolve.c:8108
#, 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.c:8115
+#: fortran/resolve.c:8123
#, gcc-internal-format, gfc-internal-format
msgid "Expected '*' in coindex specification in ALLOCATE statement at %L"
msgstr ""
-#: fortran/resolve.c:8126
+#: fortran/resolve.c:8134
#, gcc-internal-format, gfc-internal-format
msgid "Bad coarray specification in ALLOCATE statement at %L"
msgstr ""
-#: fortran/resolve.c:8158
+#: fortran/resolve.c:8166
#, gcc-internal-format, gfc-internal-format
msgid "Stat-variable at %L must be a scalar INTEGER variable"
msgstr ""
-#: fortran/resolve.c:8181
+#: fortran/resolve.c:8189
#, gcc-internal-format, gfc-internal-format
msgid "Stat-variable at %L shall not be %sd within the same %s statement"
msgstr ""
-#: fortran/resolve.c:8192
+#: fortran/resolve.c:8200
#, gcc-internal-format, gfc-internal-format
msgid "ERRMSG at %L is useless without a STAT tag"
msgstr ""
-#: fortran/resolve.c:8208
+#: fortran/resolve.c:8216
#, gcc-internal-format, gfc-internal-format
msgid "ERRMSG variable at %L shall be a scalar default CHARACTER variable"
msgstr ""
-#: fortran/resolve.c:8231
+#: fortran/resolve.c:8239
#, gcc-internal-format, gfc-internal-format
msgid "Errmsg-variable at %L shall not be %sd within the same %s statement"
msgstr ""
-#: fortran/resolve.c:8261
+#: fortran/resolve.c:8269
#, gcc-internal-format, gfc-internal-format
msgid "Allocate-object at %L also appears at %L"
msgstr ""
-#: fortran/resolve.c:8267 fortran/resolve.c:8273
+#: fortran/resolve.c:8275 fortran/resolve.c:8281
#, gcc-internal-format, gfc-internal-format
msgid "Allocate-object at %L is subobject of object at %L"
msgstr ""
@@ -73661,301 +73728,301 @@ 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.c:8501
+#: fortran/resolve.c:8509
#, gcc-internal-format, gfc-internal-format
msgid "CASE label at %L overlaps with CASE label at %L"
msgstr ""
-#: fortran/resolve.c:8552
+#: fortran/resolve.c:8560
#, gcc-internal-format, gfc-internal-format
msgid "Expression in CASE statement at %L must be of type %s"
msgstr ""
-#: fortran/resolve.c:8563
+#: fortran/resolve.c:8571
#, gcc-internal-format, gfc-internal-format
msgid "Expression in CASE statement at %L must be of kind %d"
msgstr ""
-#: fortran/resolve.c:8576
+#: fortran/resolve.c:8584
#, gcc-internal-format, gfc-internal-format
msgid "Expression in CASE statement at %L must be scalar"
msgstr ""
-#: fortran/resolve.c:8622
+#: fortran/resolve.c:8630
#, gcc-internal-format, gfc-internal-format
msgid ""
"Selection expression in computed GOTO statement at %L must be a scalar "
"integer expression"
msgstr ""
-#: fortran/resolve.c:8641
+#: fortran/resolve.c:8649
#, gcc-internal-format, gfc-internal-format
msgid "Argument of SELECT statement at %L cannot be %s"
msgstr ""
-#: fortran/resolve.c:8651
+#: fortran/resolve.c:8659
#, gcc-internal-format, gfc-internal-format
msgid "Argument of SELECT statement at %L must be a scalar expression"
msgstr ""
-#: fortran/resolve.c:8669 fortran/resolve.c:8677
+#: fortran/resolve.c:8677 fortran/resolve.c:8685
#, gcc-internal-format, gfc-internal-format
msgid "Expression in CASE statement at %L is not in the range of %s"
msgstr ""
-#: fortran/resolve.c:8739 fortran/resolve.c:9391
+#: fortran/resolve.c:8747 fortran/resolve.c:9399
#, 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.c:8765
+#: fortran/resolve.c:8773
#, gcc-internal-format, gfc-internal-format
msgid "Logical range in CASE statement at %L is not allowed"
msgstr ""
-#: fortran/resolve.c:8777
+#: fortran/resolve.c:8785
#, gcc-internal-format, gfc-internal-format
msgid "Constant logical value in CASE statement is repeated at %L"
msgstr ""
-#: fortran/resolve.c:8792
+#: fortran/resolve.c:8800
#, gcc-internal-format, gfc-internal-format
msgid "Range specification at %L can never be matched"
msgstr ""
-#: fortran/resolve.c:8895
+#: fortran/resolve.c:8903
#, gcc-internal-format, gfc-internal-format
msgid "Logical SELECT CASE block at %L has more that two cases"
msgstr ""
-#: fortran/resolve.c:8946
+#: fortran/resolve.c:8954
#, gcc-internal-format
msgid "Associating entity %qs at %L is a procedure pointer"
msgstr ""
-#: fortran/resolve.c:8955
+#: fortran/resolve.c:8963
#, gcc-internal-format
msgid "Derived type %qs cannot be used as a variable at %L"
msgstr ""
-#: fortran/resolve.c:8972
+#: fortran/resolve.c:8980
#, gcc-internal-format
msgid "Associating entity %qs at %L is a procedure name"
msgstr ""
-#: fortran/resolve.c:8988
+#: fortran/resolve.c:8996
#, gcc-internal-format, gfc-internal-format
msgid "Associating selector-expression at %L yields a procedure"
msgstr ""
-#: fortran/resolve.c:8995
+#: fortran/resolve.c:9003
#, gcc-internal-format, gfc-internal-format
msgid "Selector at %L cannot be NULL()"
msgstr ""
-#: fortran/resolve.c:9000
+#: fortran/resolve.c:9008
#, gcc-internal-format, gfc-internal-format
msgid "Selector at %L has no type"
msgstr ""
-#: fortran/resolve.c:9022
+#: fortran/resolve.c:9030
#, gcc-internal-format
msgid "Associate-name %qs at %L is used as array"
msgstr ""
-#: fortran/resolve.c:9033
+#: fortran/resolve.c:9041
#, gcc-internal-format, gfc-internal-format
msgid "CLASS selector at %L needs a temporary which is not yet implemented"
msgstr ""
-#: fortran/resolve.c:9263
+#: fortran/resolve.c:9271
#, gcc-internal-format, gfc-internal-format
msgid "Selector shall be polymorphic in SELECT TYPE statement at %L"
msgstr ""
-#: fortran/resolve.c:9301 fortran/resolve.c:9313
+#: fortran/resolve.c:9309 fortran/resolve.c:9321
#, gcc-internal-format, gfc-internal-format
msgid "Selector at %L must not be coindexed"
msgstr ""
-#: fortran/resolve.c:9342
+#: fortran/resolve.c:9350
#, gcc-internal-format, gfc-internal-format
msgid "TYPE IS at %L overlaps with TYPE IS at %L"
msgstr ""
-#: fortran/resolve.c:9354
+#: fortran/resolve.c:9362
#, gcc-internal-format
msgid "Derived type %qs at %L must be extensible"
msgstr ""
-#: fortran/resolve.c:9366
+#: fortran/resolve.c:9374
#, gcc-internal-format
msgid "Derived type %qs at %L must be an extension of %qs"
msgstr ""
-#: fortran/resolve.c:9369
+#: fortran/resolve.c:9377
#, gcc-internal-format
msgid "Unexpected intrinsic type %qs at %L"
msgstr ""
-#: fortran/resolve.c:9379
+#: fortran/resolve.c:9387
#, gcc-internal-format, gfc-internal-format
msgid ""
"The type-spec at %L shall specify that each length type parameter is assumed"
msgstr ""
-#: fortran/resolve.c:9626
+#: fortran/resolve.c:9634
#, gcc-internal-format, gfc-internal-format
msgid "Double CLASS IS block in SELECT TYPE statement at %L"
msgstr ""
-#: fortran/resolve.c:9760
+#: fortran/resolve.c:9768
#, gcc-internal-format, gfc-internal-format
msgid "RANK DEFAULT at %L is repeated at %L"
msgstr ""
-#: fortran/resolve.c:9769
+#: fortran/resolve.c:9777
#, gcc-internal-format, gfc-internal-format
msgid "RANK (*) at %L is repeated at %L"
msgstr ""
-#: fortran/resolve.c:9772
+#: fortran/resolve.c:9780
#, gcc-internal-format, gfc-internal-format
msgid "RANK (%i) at %L is repeated at %L"
msgstr ""
-#: fortran/resolve.c:9782 fortran/resolve.c:9787
+#: fortran/resolve.c:9790 fortran/resolve.c:9795
#, gcc-internal-format, gfc-internal-format
msgid ""
"RANK (*) at %L cannot be used with the pointer or allocatable selector at %L"
msgstr ""
-#: fortran/resolve.c:9896
+#: fortran/resolve.c:9904
#, gcc-internal-format, gfc-internal-format
msgid "Invalid context for NULL () intrinsic at %L"
msgstr ""
-#: fortran/resolve.c:9948
+#: fortran/resolve.c:9956
#, gcc-internal-format, gfc-internal-format
msgid "DTIO %s procedure at %L must be recursive"
msgstr ""
-#: fortran/resolve.c:9958
+#: fortran/resolve.c:9966
#, 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.c:9971
+#: fortran/resolve.c:9979
#, 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.c:9980
+#: fortran/resolve.c:9988
#, gcc-internal-format, gfc-internal-format
msgid "Data transfer element at %L cannot have procedure pointer components"
msgstr ""
-#: fortran/resolve.c:9987
+#: fortran/resolve.c:9995
#, 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.c:9998
+#: fortran/resolve.c:10006
#, gcc-internal-format, gfc-internal-format
msgid "Data transfer element at %L cannot have PRIVATE components"
msgstr ""
-#: fortran/resolve.c:10004
+#: fortran/resolve.c:10012
#, 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.c:10019
+#: fortran/resolve.c:10027
#, 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.c:10076
+#: fortran/resolve.c:10084
#, gcc-internal-format, gfc-internal-format
msgid "Lock variable at %L must be a scalar of type LOCK_TYPE"
msgstr ""
-#: fortran/resolve.c:10086
+#: fortran/resolve.c:10094
#, gcc-internal-format, gfc-internal-format
msgid "Event variable at %L must be a scalar of type EVENT_TYPE"
msgstr ""
-#: fortran/resolve.c:10090
+#: fortran/resolve.c:10098
#, gcc-internal-format, gfc-internal-format
msgid "Event variable argument at %L must be a coarray or coindexed"
msgstr ""
-#: fortran/resolve.c:10093
+#: fortran/resolve.c:10101
#, gcc-internal-format, gfc-internal-format
msgid "Event variable argument at %L must be a coarray but not coindexed"
msgstr ""
-#: fortran/resolve.c:10100 fortran/resolve.c:10222
+#: fortran/resolve.c:10108 fortran/resolve.c:10230
#, gcc-internal-format, gfc-internal-format
msgid "STAT= argument at %L must be a scalar INTEGER variable"
msgstr ""
-#: fortran/resolve.c:10112 fortran/resolve.c:10230
+#: fortran/resolve.c:10120 fortran/resolve.c:10238
#, gcc-internal-format, gfc-internal-format
msgid "ERRMSG= argument at %L must be a scalar CHARACTER variable"
msgstr ""
-#: fortran/resolve.c:10124
+#: fortran/resolve.c:10132
#, gcc-internal-format, gfc-internal-format
msgid "ACQUIRED_LOCK= argument at %L must be a scalar LOGICAL variable"
msgstr ""
-#: fortran/resolve.c:10137
+#: fortran/resolve.c:10145
#, gcc-internal-format, gfc-internal-format
msgid "UNTIL_COUNT= argument at %L must be a scalar INTEGER expression"
msgstr ""
-#: fortran/resolve.c:10198
+#: fortran/resolve.c:10206
#, gcc-internal-format, gfc-internal-format
msgid "Imageset argument at %L must be a scalar or rank-1 INTEGER expression"
msgstr ""
-#: fortran/resolve.c:10202 fortran/resolve.c:10212
+#: fortran/resolve.c:10210 fortran/resolve.c:10220
#, gcc-internal-format, gfc-internal-format
msgid "Imageset argument at %L must between 1 and num_images()"
msgstr ""
-#: fortran/resolve.c:10257
+#: fortran/resolve.c:10265
#, 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.c:10267
+#: fortran/resolve.c:10275
#, 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.c:10284 fortran/resolve.c:10307
+#: fortran/resolve.c:10292 fortran/resolve.c:10315
#, gcc-internal-format, gfc-internal-format
msgid "GOTO statement at %L leaves CRITICAL construct for label at %L"
msgstr ""
-#: fortran/resolve.c:10288 fortran/resolve.c:10313
+#: fortran/resolve.c:10296 fortran/resolve.c:10321
#, gcc-internal-format, gfc-internal-format
msgid "GOTO statement at %L leaves DO CONCURRENT construct for label at %L"
msgstr ""
@@ -73963,74 +74030,74 @@ 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.c:10328
+#: fortran/resolve.c:10336
#, 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.c:10400
+#: fortran/resolve.c:10408
#, gcc-internal-format, gfc-internal-format
msgid "WHERE mask at %L has inconsistent shape"
msgstr ""
-#: fortran/resolve.c:10416
+#: fortran/resolve.c:10424
#, gcc-internal-format, gfc-internal-format
msgid "WHERE assignment target at %L has inconsistent shape"
msgstr ""
-#: fortran/resolve.c:10424 fortran/resolve.c:10511
+#: fortran/resolve.c:10432 fortran/resolve.c:10519
#, gcc-internal-format, gfc-internal-format
msgid "Non-ELEMENTAL user-defined assignment in WHERE at %L"
msgstr ""
-#: fortran/resolve.c:10434 fortran/resolve.c:10521
+#: fortran/resolve.c:10442 fortran/resolve.c:10529
#, gcc-internal-format, gfc-internal-format
msgid "Unsupported statement inside WHERE at %L"
msgstr ""
-#: fortran/resolve.c:10465
+#: fortran/resolve.c:10473
#, gcc-internal-format, gfc-internal-format
msgid "Assignment to a FORALL index variable at %L"
msgstr ""
-#: fortran/resolve.c:10474
+#: fortran/resolve.c:10482
#, 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.c:10621
+#: fortran/resolve.c:10629
#, gcc-internal-format, gfc-internal-format
msgid "FORALL construct at %L"
msgstr ""
-#: fortran/resolve.c:10642
+#: fortran/resolve.c:10650
#, gcc-internal-format, gfc-internal-format
msgid "FORALL index-name at %L must be a scalar variable of type integer"
msgstr ""
-#: fortran/resolve.c:10652
+#: fortran/resolve.c:10660
#, gcc-internal-format, gfc-internal-format
msgid "An outer FORALL construct already has an index with this name %L"
msgstr ""
-#: fortran/resolve.c:10729
+#: fortran/resolve.c:10737
#, gcc-internal-format, gfc-internal-format
msgid "WHERE/ELSEWHERE clause at %L requires a LOGICAL array"
msgstr ""
-#: fortran/resolve.c:10831
+#: fortran/resolve.c:10839
#, gcc-internal-format
msgid "gfc_resolve_blocks(): Bad block type"
msgstr ""
-#: fortran/resolve.c:10944
+#: fortran/resolve.c:10952
#, gcc-internal-format, gfc-internal-format
msgid "CHARACTER expression will be truncated in assignment (%ld/%ld) at %L"
msgstr ""
-#: fortran/resolve.c:10976
+#: fortran/resolve.c:10984
#, gcc-internal-format, gfc-internal-format
msgid ""
"Coindexed expression at %L is assigned to a derived type variable with a "
@@ -74038,7 +74105,7 @@ msgid ""
msgstr ""
#. F2008, C1283 (4).
-#: fortran/resolve.c:10982
+#: fortran/resolve.c:10990
#, gcc-internal-format, gfc-internal-format
msgid ""
"In a pure subprogram an INTENT(IN) dummy argument shall not be used as the "
@@ -74047,43 +74114,43 @@ msgid ""
"component selection."
msgstr ""
-#: fortran/resolve.c:10994
+#: fortran/resolve.c:11002
#, gcc-internal-format, gfc-internal-format
msgid "Assignment to coindexed variable at %L in a PURE procedure"
msgstr ""
-#: fortran/resolve.c:11026
+#: fortran/resolve.c:11034
#, gcc-internal-format, gfc-internal-format
msgid "Assignment to polymorphic coarray at %L is not permitted"
msgstr ""
-#: fortran/resolve.c:11030
+#: fortran/resolve.c:11038
#, gcc-internal-format, gfc-internal-format
msgid "Assignment to an allocatable polymorphic variable at %L"
msgstr ""
-#: fortran/resolve.c:11035
+#: fortran/resolve.c:11043
#, gcc-internal-format
msgid ""
"Assignment to an allocatable polymorphic variable at %L requires %<-frealloc-"
"lhs%>"
msgstr ""
-#: fortran/resolve.c:11042
+#: fortran/resolve.c:11050
#, gcc-internal-format, gfc-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.c:11053
+#: fortran/resolve.c:11061
#, gcc-internal-format, gfc-internal-format
msgid ""
"Coindexed variable must not have an allocatable ultimate component in "
"assignment at %L"
msgstr ""
-#: fortran/resolve.c:11373
+#: fortran/resolve.c:11381
#, gcc-internal-format, gfc-internal-format
msgid ""
"TODO: type-bound defined assignment(s) at %L not done because multiple part "
@@ -74092,77 +74159,77 @@ msgstr ""
#. Even if standard does not support this feature, continue to build
#. the two statements to avoid upsetting frontend_passes.c.
-#: fortran/resolve.c:11615
+#: fortran/resolve.c:11623
#, gcc-internal-format, gfc-internal-format
msgid "Pointer procedure assignment at %L"
msgstr ""
-#: fortran/resolve.c:11627
+#: fortran/resolve.c:11635
#, 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.c:11882
+#: fortran/resolve.c:11890
#, gcc-internal-format, gfc-internal-format
msgid "ASSIGNED GOTO statement at %L requires a scalar INTEGER variable"
msgstr ""
-#: fortran/resolve.c:11886
+#: fortran/resolve.c:11894
#, gcc-internal-format
msgid "Variable %qs has not been assigned a target label at %L"
msgstr ""
-#: fortran/resolve.c:11897
+#: fortran/resolve.c:11905
#, gcc-internal-format, gfc-internal-format
msgid ""
"Alternate RETURN statement at %L requires a SCALAR-INTEGER return specifier"
msgstr ""
-#: fortran/resolve.c:11963
+#: fortran/resolve.c:11971
#, gcc-internal-format, gfc-internal-format
msgid "ASSIGN statement at %L requires a scalar default INTEGER variable"
msgstr ""
-#: fortran/resolve.c:12009
+#: fortran/resolve.c:12018
#, gcc-internal-format, gfc-internal-format
msgid "Invalid NULL at %L"
msgstr ""
-#: fortran/resolve.c:12013
+#: fortran/resolve.c:12022
#, gcc-internal-format, gfc-internal-format
msgid ""
"Arithmetic IF statement at %L requires a scalar REAL or INTEGER expression"
msgstr ""
-#: fortran/resolve.c:12074
+#: fortran/resolve.c:12083
#, gcc-internal-format
msgid "gfc_resolve_code(): No expression on DO WHILE"
msgstr ""
-#: fortran/resolve.c:12079
+#: fortran/resolve.c:12088
#, gcc-internal-format, gfc-internal-format
msgid ""
"Exit condition of DO WHILE loop at %L must be a scalar LOGICAL expression"
msgstr ""
-#: fortran/resolve.c:12163
+#: fortran/resolve.c:12172
#, gcc-internal-format, gfc-internal-format
msgid "FORALL mask clause at %L requires a scalar LOGICAL expression"
msgstr ""
-#: fortran/resolve.c:12245
+#: fortran/resolve.c:12254
#, gcc-internal-format
msgid "gfc_resolve_code(): Bad statement code"
msgstr ""
-#: fortran/resolve.c:12266
+#: fortran/resolve.c:12275
#, gcc-internal-format
msgid "Using parameter %qs declared at %L is deprecated"
msgstr ""
-#: fortran/resolve.c:12360
+#: fortran/resolve.c:12369
#, gcc-internal-format
msgid ""
"Variable %qs with binding label %qs at %L uses the same global identifier as "
@@ -74171,7 +74238,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.c:12374
+#: fortran/resolve.c:12383
#, gcc-internal-format
msgid ""
"Variable %qs from module %qs with binding label %qs at %L uses the same "
@@ -74181,63 +74248,63 @@ 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.c:12393
+#: fortran/resolve.c:12402
#, gcc-internal-format
msgid ""
"Procedure %qs with binding label %qs at %L uses the same global identifier "
"as entity at %L"
msgstr ""
-#: fortran/resolve.c:12479
+#: fortran/resolve.c:12488
#, gcc-internal-format, gfc-internal-format
msgid "String length at %L is too large"
msgstr ""
-#: fortran/resolve.c:12713
+#: fortran/resolve.c:12722
#, gcc-internal-format
msgid "Allocatable array %qs at %L must have a deferred shape or assumed rank"
msgstr ""
-#: fortran/resolve.c:12717
+#: fortran/resolve.c:12726
#, gcc-internal-format
msgid "Scalar object %qs at %L may not be ALLOCATABLE"
msgstr ""
-#: fortran/resolve.c:12725
+#: fortran/resolve.c:12734
#, gcc-internal-format
msgid "Array pointer %qs at %L must have a deferred shape or assumed rank"
msgstr ""
-#: fortran/resolve.c:12736
+#: fortran/resolve.c:12745
#, gcc-internal-format
msgid "Array %qs at %L cannot have a deferred shape"
msgstr ""
-#: fortran/resolve.c:12752
+#: fortran/resolve.c:12761
#, gcc-internal-format
msgid "Type %qs of CLASS variable %qs at %L is not extensible"
msgstr ""
-#: fortran/resolve.c:12764
+#: fortran/resolve.c:12773
#, gcc-internal-format
msgid "CLASS variable %qs at %L must be dummy, allocatable or pointer"
msgstr ""
-#: fortran/resolve.c:12797
+#: fortran/resolve.c:12806
#, 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.c:12819
+#: fortran/resolve.c:12828
#, gcc-internal-format
msgid ""
"Implied SAVE for module variable %qs at %L, needed due to the default "
"initialization"
msgstr ""
-#: fortran/resolve.c:12850
+#: fortran/resolve.c:12859
#, gcc-internal-format
msgid ""
"Entity %qs at %L has a deferred type parameter and requires either the "
@@ -74246,1026 +74313,1026 @@ msgstr ""
#. F08:C541. The shape of an array defined in a main program or module
#. * needs to be constant.
-#: fortran/resolve.c:12886
+#: fortran/resolve.c:12895
#, gcc-internal-format
msgid "The module or main program array %qs at %L must have constant shape"
msgstr ""
-#: fortran/resolve.c:12911
+#: fortran/resolve.c:12920
#, 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.c:12932
+#: fortran/resolve.c:12941
#, gcc-internal-format
msgid "%qs at %L must have constant character length in this context"
msgstr ""
-#: fortran/resolve.c:12939
+#: fortran/resolve.c:12948
#, gcc-internal-format
msgid "COMMON variable %qs at %L must have constant character length"
msgstr ""
-#: fortran/resolve.c:12986
+#: fortran/resolve.c:12995
#, gcc-internal-format
msgid "Allocatable %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.c:12989
+#: fortran/resolve.c:12998
#, gcc-internal-format
msgid "External %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.c:12992
+#: fortran/resolve.c:13001
#, gcc-internal-format
msgid "Dummy %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.c:12995
+#: fortran/resolve.c:13004
#, gcc-internal-format
msgid "Intrinsic %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.c:12998
+#: fortran/resolve.c:13007
#, gcc-internal-format
msgid "Function result %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.c:13001
+#: fortran/resolve.c:13010
#, gcc-internal-format
msgid "Automatic array %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.c:13043
+#: fortran/resolve.c:13052
#, gcc-internal-format, gfc-internal-format
msgid "%s at %L"
msgstr ""
-#: fortran/resolve.c:13075
+#: fortran/resolve.c:13084
#, gcc-internal-format
msgid "Character-valued statement function %qs at %L must have constant length"
msgstr ""
-#: fortran/resolve.c:13098
+#: fortran/resolve.c:13107
#, 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.c:13120
+#: fortran/resolve.c:13129
#, gcc-internal-format
msgid ""
"Procedure %qs in PUBLIC interface %qs at %L takes dummy arguments of %qs "
"which is PRIVATE"
msgstr ""
-#: fortran/resolve.c:13138
+#: fortran/resolve.c:13147
#, gcc-internal-format
msgid "Function %qs at %L cannot have an initializer"
msgstr ""
-#: fortran/resolve.c:13150
+#: fortran/resolve.c:13159
#, gcc-internal-format
msgid "External object %qs at %L may not have an initializer"
msgstr ""
-#: fortran/resolve.c:13159
+#: fortran/resolve.c:13168
#, gcc-internal-format
msgid "ELEMENTAL function %qs at %L must have a scalar result"
msgstr ""
-#: fortran/resolve.c:13169
+#: fortran/resolve.c:13178
#, gcc-internal-format
msgid ""
"Statement function %qs at %L may not have pointer or allocatable attribute"
msgstr ""
-#: fortran/resolve.c:13188
+#: fortran/resolve.c:13197
#, gcc-internal-format
msgid "CHARACTER(*) function %qs at %L cannot be array-valued"
msgstr ""
-#: fortran/resolve.c:13192
+#: fortran/resolve.c:13201
#, gcc-internal-format
msgid "CHARACTER(*) function %qs at %L cannot be pointer-valued"
msgstr ""
-#: fortran/resolve.c:13196
+#: fortran/resolve.c:13205
#, gcc-internal-format
msgid "CHARACTER(*) function %qs at %L cannot be pure"
msgstr ""
-#: fortran/resolve.c:13200
+#: fortran/resolve.c:13209
#, gcc-internal-format
msgid "CHARACTER(*) function %qs at %L cannot be recursive"
msgstr ""
-#: fortran/resolve.c:13213
+#: fortran/resolve.c:13222
#, gcc-internal-format
msgid "CHARACTER(*) function %qs at %L"
msgstr ""
-#: fortran/resolve.c:13224
+#: fortran/resolve.c:13233
#, gcc-internal-format
msgid "Procedure pointer %qs at %L shall not be elemental"
msgstr ""
-#: fortran/resolve.c:13230
+#: fortran/resolve.c:13239
#, gcc-internal-format
msgid "Dummy procedure %qs at %L shall not be elemental"
msgstr ""
-#: fortran/resolve.c:13250
+#: fortran/resolve.c:13259
#, 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.c:13307
+#: fortran/resolve.c:13316
#, gcc-internal-format
msgid "PROCEDURE attribute conflicts with SAVE attribute in %qs at %L"
msgstr ""
-#: fortran/resolve.c:13313
+#: fortran/resolve.c:13322
#, gcc-internal-format
msgid "PROCEDURE attribute conflicts with INTENT attribute in %qs at %L"
msgstr ""
-#: fortran/resolve.c:13319
+#: fortran/resolve.c:13328
#, gcc-internal-format
msgid "PROCEDURE attribute conflicts with RESULT attribute in %qs at %L"
msgstr ""
-#: fortran/resolve.c:13327
+#: fortran/resolve.c:13336
#, gcc-internal-format
msgid "EXTERNAL attribute conflicts with FUNCTION attribute in %qs at %L"
msgstr ""
-#: fortran/resolve.c:13333
+#: fortran/resolve.c:13342
#, gcc-internal-format
msgid "Procedure pointer result %qs at %L is missing the pointer attribute"
msgstr ""
-#: fortran/resolve.c:13376
+#: fortran/resolve.c:13385
#, gcc-internal-format, gfc-internal-format
msgid ""
"Mismatch in ELEMENTAL attribute between MODULE PROCEDURE at %L and its "
"interface in %s"
msgstr ""
-#: fortran/resolve.c:13384
+#: fortran/resolve.c:13393
#, gcc-internal-format, gfc-internal-format
msgid ""
"Mismatch in PURE attribute between MODULE PROCEDURE at %L and its interface "
"in %s"
msgstr ""
-#: fortran/resolve.c:13392
+#: fortran/resolve.c:13401
#, gcc-internal-format, gfc-internal-format
msgid ""
"Mismatch in RECURSIVE attribute between MODULE PROCEDURE at %L and its "
"interface in %s"
msgstr ""
-#: fortran/resolve.c:13401
+#: fortran/resolve.c:13410
#, 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.c:13485
+#: fortran/resolve.c:13494
#, gcc-internal-format
msgid "FINAL procedure %qs at %L is not a SUBROUTINE"
msgstr ""
-#: fortran/resolve.c:13494
+#: fortran/resolve.c:13503
#, gcc-internal-format, gfc-internal-format
msgid "FINAL procedure at %L must have exactly one argument"
msgstr ""
-#: fortran/resolve.c:13503
+#: fortran/resolve.c:13512
#, gcc-internal-format
msgid "Argument of FINAL procedure at %L must be of type %qs"
msgstr ""
-#: fortran/resolve.c:13511
+#: fortran/resolve.c:13520
#, gcc-internal-format, gfc-internal-format
msgid "Argument of FINAL procedure at %L must not be a POINTER"
msgstr ""
-#: fortran/resolve.c:13517
+#: fortran/resolve.c:13526
#, gcc-internal-format, gfc-internal-format
msgid "Argument of FINAL procedure at %L must not be ALLOCATABLE"
msgstr ""
-#: fortran/resolve.c:13523
+#: fortran/resolve.c:13532
#, gcc-internal-format, gfc-internal-format
msgid "Argument of FINAL procedure at %L must not be OPTIONAL"
msgstr ""
-#: fortran/resolve.c:13531
+#: fortran/resolve.c:13540
#, gcc-internal-format, gfc-internal-format
msgid "Argument of FINAL procedure at %L must not be INTENT(OUT)"
msgstr ""
-#: fortran/resolve.c:13540
+#: fortran/resolve.c:13549
#, gcc-internal-format, gfc-internal-format
msgid "Non-scalar FINAL procedure at %L should have assumed shape argument"
msgstr ""
-#: fortran/resolve.c:13562
+#: fortran/resolve.c:13571
#, gcc-internal-format
msgid "FINAL procedure %qs declared at %L has the same rank (%d) as %qs"
msgstr ""
-#: fortran/resolve.c:13599
+#: fortran/resolve.c:13608
#, gcc-internal-format
msgid ""
"Only array FINAL procedures declared for derived type %qs defined at %L, "
"suggest also scalar one"
msgstr ""
-#: fortran/resolve.c:13639
+#: fortran/resolve.c:13648
#, gcc-internal-format
msgid "%qs and %qs cannot be mixed FUNCTION/SUBROUTINE for GENERIC %qs at %L"
msgstr ""
-#: fortran/resolve.c:13675
+#: fortran/resolve.c:13684
#, gcc-internal-format
msgid "%qs and %qs for GENERIC %qs at %L are ambiguous"
msgstr ""
-#: fortran/resolve.c:13734
+#: fortran/resolve.c:13743
#, gcc-internal-format
msgid "Undefined specific binding %qs as target of GENERIC %qs at %L"
msgstr ""
-#: fortran/resolve.c:13746
+#: fortran/resolve.c:13755
#, gcc-internal-format
msgid "GENERIC %qs at %L must target a specific binding, %qs is GENERIC, too"
msgstr ""
-#: fortran/resolve.c:13774
+#: fortran/resolve.c:13783
#, gcc-internal-format
msgid "GENERIC %qs at %L cannot overwrite specific binding with the same name"
msgstr ""
-#: fortran/resolve.c:13830
+#: fortran/resolve.c:13839
#, gcc-internal-format, gfc-internal-format
msgid "Type-bound operator at %L cannot be NOPASS"
msgstr ""
-#: fortran/resolve.c:14042
+#: fortran/resolve.c:14051
#, gcc-internal-format
msgid ""
"%qs must be a module procedure or an external procedure with an explicit "
"interface at %L"
msgstr ""
-#: fortran/resolve.c:14085
+#: fortran/resolve.c:14094
#, gcc-internal-format
msgid "Procedure %qs with PASS(%s) at %L has no argument %qs"
msgstr ""
-#: fortran/resolve.c:14099
+#: fortran/resolve.c:14108
#, gcc-internal-format
msgid "Procedure %qs with PASS at %L must have at least one argument"
msgstr ""
-#: fortran/resolve.c:14113 fortran/resolve.c:14599
+#: fortran/resolve.c:14122 fortran/resolve.c:14608
#, gcc-internal-format
msgid "Non-polymorphic passed-object dummy argument of %qs at %L"
msgstr ""
-#: fortran/resolve.c:14121
+#: fortran/resolve.c:14130
#, gcc-internal-format
msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived-type %qs"
msgstr ""
-#: fortran/resolve.c:14130
+#: fortran/resolve.c:14139
#, gcc-internal-format
msgid "Passed-object dummy argument of %qs at %L must be scalar"
msgstr ""
-#: fortran/resolve.c:14136
+#: fortran/resolve.c:14145
#, gcc-internal-format
msgid "Passed-object dummy argument of %qs at %L must not be ALLOCATABLE"
msgstr ""
-#: fortran/resolve.c:14142
+#: fortran/resolve.c:14151
#, gcc-internal-format
msgid "Passed-object dummy argument of %qs at %L must not be POINTER"
msgstr ""
-#: fortran/resolve.c:14171
+#: fortran/resolve.c:14180
#, gcc-internal-format
msgid "Procedure %qs at %L has the same name as a component of %qs"
msgstr ""
-#: fortran/resolve.c:14181
+#: fortran/resolve.c:14190
#, gcc-internal-format
msgid "Procedure %qs at %L has the same name as an inherited component of %qs"
msgstr ""
-#: fortran/resolve.c:14276
+#: fortran/resolve.c:14285
#, gcc-internal-format
msgid ""
"Derived-type %qs declared at %L must be ABSTRACT because %qs is DEFERRED and "
"not overridden"
msgstr ""
-#: fortran/resolve.c:14379
+#: fortran/resolve.c:14388
#, gcc-internal-format
msgid "Coarray component %qs at %L must be allocatable with deferred shape"
msgstr ""
-#: fortran/resolve.c:14388
+#: fortran/resolve.c:14397
#, gcc-internal-format
msgid ""
"Component %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
msgstr ""
-#: fortran/resolve.c:14398
+#: fortran/resolve.c:14407
#, gcc-internal-format
msgid ""
"Component %qs at %L with coarray component shall be a nonpointer, "
"nonallocatable scalar"
msgstr ""
-#: fortran/resolve.c:14423
+#: fortran/resolve.c:14432
#, gcc-internal-format
msgid ""
"Component %qs at %L has the CONTIGUOUS attribute but is not an array pointer"
msgstr ""
-#: fortran/resolve.c:14434
+#: fortran/resolve.c:14443
#, gcc-internal-format
msgid "Component %qs of BIND(C) type at %L must have length one"
msgstr ""
-#: fortran/resolve.c:14532
+#: fortran/resolve.c:14541
#, gcc-internal-format
msgid "Procedure pointer component %qs with PASS(%s) at %L has no argument %qs"
msgstr ""
-#: fortran/resolve.c:14546
+#: fortran/resolve.c:14555
#, gcc-internal-format
msgid ""
"Procedure pointer component %qs with PASS at %L must have at least one "
"argument"
msgstr ""
-#: fortran/resolve.c:14562
+#: fortran/resolve.c:14571
#, gcc-internal-format
msgid "Argument %qs of %qs with PASS(%s) at %L must be of the derived type %qs"
msgstr ""
-#: fortran/resolve.c:14572
+#: fortran/resolve.c:14581
#, gcc-internal-format
msgid "Argument %qs of %qs with PASS(%s) at %L must be scalar"
msgstr ""
-#: fortran/resolve.c:14581
+#: fortran/resolve.c:14590
#, gcc-internal-format
msgid ""
"Argument %qs of %qs with PASS(%s) at %L may not have the POINTER attribute"
msgstr ""
-#: fortran/resolve.c:14590
+#: fortran/resolve.c:14599
#, gcc-internal-format
msgid "Argument %qs of %qs with PASS(%s) at %L may not be ALLOCATABLE"
msgstr ""
-#: fortran/resolve.c:14632
+#: fortran/resolve.c:14641
#, gcc-internal-format
msgid ""
"Component %qs of %qs at %L has the same name as an inherited type-bound "
"procedure"
msgstr ""
-#: fortran/resolve.c:14645
+#: fortran/resolve.c:14654
#, gcc-internal-format
msgid ""
"Character length of component %qs needs to be a constant specification "
"expression at %L"
msgstr ""
-#: fortran/resolve.c:14656
+#: fortran/resolve.c:14665
#, gcc-internal-format
msgid ""
"Character component %qs of %qs at %L with deferred length must be a POINTER "
"or ALLOCATABLE"
msgstr ""
-#: fortran/resolve.c:14689
+#: fortran/resolve.c:14698
#, 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.c:14697
+#: fortran/resolve.c:14706
#, gcc-internal-format, gfc-internal-format
msgid "Polymorphic component %s at %L in SEQUENCE or BIND(C) type %s"
msgstr ""
-#: fortran/resolve.c:14706
+#: fortran/resolve.c:14715
#, gcc-internal-format, gfc-internal-format
msgid ""
"Component %s of SEQUENCE type declared at %L does not have the SEQUENCE "
"attribute"
msgstr ""
-#: fortran/resolve.c:14792
+#: fortran/resolve.c:14801
#, gcc-internal-format, gfc-internal-format
msgid "Conflicting initializers in union at %L and %L"
msgstr ""
-#: fortran/resolve.c:14837
+#: fortran/resolve.c:14846
#, gcc-internal-format
msgid ""
"As extending type %qs at %L has a coarray component, parent type %qs shall "
"also have one"
msgstr ""
-#: fortran/resolve.c:14850
+#: fortran/resolve.c:14859
#, gcc-internal-format
msgid "Non-extensible derived-type %qs at %L must not be ABSTRACT"
msgstr ""
-#: fortran/resolve.c:14914
+#: fortran/resolve.c:14923
#, gcc-internal-format
msgid ""
"Parameterized type %qs does not have a component corresponding to parameter "
"%qs at %L"
msgstr ""
-#: fortran/resolve.c:14947
+#: fortran/resolve.c:14956
#, gcc-internal-format
msgid ""
"Generic name %qs of function %qs at %L being the same name as derived type "
"at %L"
msgstr ""
-#: fortran/resolve.c:14961
+#: fortran/resolve.c:14970
#, gcc-internal-format
msgid "Derived type %qs at %L has not been declared"
msgstr ""
-#: fortran/resolve.c:15026
+#: fortran/resolve.c:15035
#, gcc-internal-format
msgid "Assumed size array %qs in namelist %qs at %L is not allowed"
msgstr ""
-#: fortran/resolve.c:15032
+#: fortran/resolve.c:15041
#, gcc-internal-format
msgid "NAMELIST array object %qs with assumed shape in namelist %qs at %L"
msgstr ""
-#: fortran/resolve.c:15038
+#: fortran/resolve.c:15047
#, gcc-internal-format
msgid "NAMELIST array object %qs with nonconstant shape in namelist %qs at %L"
msgstr ""
-#: fortran/resolve.c:15046
+#: fortran/resolve.c:15055
#, gcc-internal-format
msgid ""
"NAMELIST object %qs with nonconstant character length in namelist %qs at %L"
msgstr ""
-#: fortran/resolve.c:15063
+#: fortran/resolve.c:15072
#, gcc-internal-format
msgid ""
"NAMELIST object %qs was declared PRIVATE and cannot be member of PUBLIC "
"namelist %qs at %L"
msgstr ""
-#: fortran/resolve.c:15085
+#: fortran/resolve.c:15094
#, gcc-internal-format
msgid ""
"NAMELIST object %qs has use-associated PRIVATE components and cannot be "
"member of namelist %qs at %L"
msgstr ""
-#: fortran/resolve.c:15096
+#: fortran/resolve.c:15105
#, gcc-internal-format
msgid ""
"NAMELIST object %qs has PRIVATE components and cannot be a member of PUBLIC "
"namelist %qs at %L"
msgstr ""
-#: fortran/resolve.c:15123
+#: fortran/resolve.c:15132
#, gcc-internal-format
msgid "PROCEDURE attribute conflicts with NAMELIST attribute in %qs at %L"
msgstr ""
-#: fortran/resolve.c:15142
+#: fortran/resolve.c:15151
#, gcc-internal-format
msgid "Parameter array %qs at %L cannot be automatic or of deferred shape"
msgstr ""
-#: fortran/resolve.c:15158
+#: fortran/resolve.c:15167
#, gcc-internal-format
msgid ""
"Implicitly typed PARAMETER %qs at %L doesn't match a later IMPLICIT type"
msgstr ""
-#: fortran/resolve.c:15169
+#: fortran/resolve.c:15178
#, gcc-internal-format, gfc-internal-format
msgid "Incompatible derived type in PARAMETER at %L"
msgstr ""
-#: fortran/resolve.c:15177
+#: fortran/resolve.c:15186
#, gcc-internal-format
msgid "CLASS variable %qs at %L cannot have the PARAMETER attribute"
msgstr ""
-#: fortran/resolve.c:15228
+#: fortran/resolve.c:15237
#, gcc-internal-format
msgid ""
"The object %qs at %L has a deferred LEN parameter %qs and is neither "
"allocatable nor a pointer"
msgstr ""
-#: fortran/resolve.c:15239
+#: fortran/resolve.c:15248
#, 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.c:15246
+#: fortran/resolve.c:15255
#, 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.c:15286
+#: fortran/resolve.c:15295
#, gcc-internal-format, gfc-internal-format
msgid ""
"Sorry, allocatable/pointer components in polymorphic (CLASS) type coarrays "
"at %L are unsupported"
msgstr ""
-#: fortran/resolve.c:15350
+#: fortran/resolve.c:15359
#, gcc-internal-format, gfc-internal-format
msgid "PROTECTED attribute conflicts with EXTERNAL attribute at %L"
msgstr ""
-#: fortran/resolve.c:15353
+#: fortran/resolve.c:15362
#, gcc-internal-format, gfc-internal-format
msgid "PROCEDURE attribute conflicts with PROTECTED attribute at %L"
msgstr ""
-#: fortran/resolve.c:15453
+#: fortran/resolve.c:15462
#, 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.c:15474
+#: fortran/resolve.c:15483
#, gcc-internal-format, gfc-internal-format
msgid "Bad specification for assumed size array at %L"
msgstr ""
-#: fortran/resolve.c:15487
+#: fortran/resolve.c:15496
#, gcc-internal-format, gfc-internal-format
msgid "Assumed size array at %L must be a dummy argument"
msgstr ""
-#: fortran/resolve.c:15490
+#: fortran/resolve.c:15499
#, gcc-internal-format, gfc-internal-format
msgid "Assumed shape array at %L must be a dummy argument"
msgstr ""
-#: fortran/resolve.c:15500
+#: fortran/resolve.c:15509
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-rank array at %L must be a dummy argument"
msgstr ""
-#: fortran/resolve.c:15507
+#: fortran/resolve.c:15516
#, gcc-internal-format, gfc-internal-format
msgid ""
"Assumed-rank array at %L may not have the VALUE or CODIMENSION attribute"
msgstr ""
-#: fortran/resolve.c:15520
+#: fortran/resolve.c:15529
#, gcc-internal-format, gfc-internal-format
msgid "Symbol at %L is not a DUMMY variable"
msgstr ""
-#: fortran/resolve.c:15526
+#: fortran/resolve.c:15535
#, gcc-internal-format
msgid ""
"%qs at %L cannot have the VALUE attribute because it is not a dummy argument"
msgstr ""
-#: fortran/resolve.c:15536
+#: fortran/resolve.c:15545
#, gcc-internal-format
msgid ""
"Character dummy variable %qs at %L with VALUE attribute must have constant "
"length"
msgstr ""
-#: fortran/resolve.c:15545
+#: fortran/resolve.c:15554
#, gcc-internal-format
msgid ""
"C interoperable character dummy variable %qs at %L with VALUE attribute must "
"have length one"
msgstr ""
-#: fortran/resolve.c:15558 fortran/resolve.c:15735
+#: fortran/resolve.c:15567 fortran/resolve.c:15744
#, gcc-internal-format
msgid "The derived type %qs at %L is of type %qs, which has not been defined"
msgstr ""
-#: fortran/resolve.c:15572
+#: fortran/resolve.c:15581
#, gcc-internal-format, gfc-internal-format
msgid "Variable %s at %L with NO_ARG_CHECK attribute shall be a dummy argument"
msgstr ""
-#: fortran/resolve.c:15581
+#: fortran/resolve.c:15590
#, 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.c:15590
+#: fortran/resolve.c:15599
#, 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.c:15598
+#: fortran/resolve.c:15607
#, 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.c:15605
+#: fortran/resolve.c:15614
#, 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.c:15625
+#: fortran/resolve.c:15634
#, gcc-internal-format, gfc-internal-format
msgid "Assumed type of variable %s at %L is only permitted for dummy variables"
msgstr ""
-#: fortran/resolve.c:15632
+#: fortran/resolve.c:15641
#, 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.c:15639
+#: fortran/resolve.c:15648
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-type variable %s at %L may not have the INTENT(OUT) attribute"
msgstr ""
-#: fortran/resolve.c:15646
+#: fortran/resolve.c:15655
#, gcc-internal-format, gfc-internal-format
msgid "Assumed-type variable %s at %L shall not be an explicit-shape array"
msgstr ""
-#: fortran/resolve.c:15672
+#: fortran/resolve.c:15681
#, 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.c:15682
+#: fortran/resolve.c:15691
#, gcc-internal-format
msgid "BIND(C) Variable %qs at %L must have length one"
msgstr ""
-#: fortran/resolve.c:15761
+#: fortran/resolve.c:15770
#, gcc-internal-format
msgid "PUBLIC %s %qs at %L of PRIVATE derived type %qs"
msgstr ""
-#: fortran/resolve.c:15776
+#: fortran/resolve.c:15785
#, 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.c:15789
+#: fortran/resolve.c:15798
#, 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.c:15807
+#: fortran/resolve.c:15816
#, 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.c:15819
+#: fortran/resolve.c:15828
#, gcc-internal-format
msgid "Dummy argument %qs at %L of LOCK_TYPE shall not be INTENT(OUT)"
msgstr ""
-#: fortran/resolve.c:15828
+#: fortran/resolve.c:15837
#, gcc-internal-format
msgid "Dummy argument %qs at %L of EVENT_TYPE shall not be INTENT(OUT)"
msgstr ""
-#: fortran/resolve.c:15841
+#: fortran/resolve.c:15850
#, gcc-internal-format
msgid ""
"Function result %qs at %L shall not be a coarray or have a coarray component"
msgstr ""
-#: fortran/resolve.c:15850
+#: fortran/resolve.c:15859
#, gcc-internal-format
msgid ""
"Variable %qs at %L of TYPE(C_PTR) or TYPE(C_FUNPTR) shall not be a coarray"
msgstr ""
-#: fortran/resolve.c:15863
+#: fortran/resolve.c:15872
#, 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.c:15879
+#: fortran/resolve.c:15888
#, gcc-internal-format
msgid ""
"Variable %qs at %L is a coarray and is not ALLOCATABLE, SAVE nor a dummy "
"argument"
msgstr ""
-#: fortran/resolve.c:15887
+#: fortran/resolve.c:15896
#, gcc-internal-format
msgid ""
"Coarray variable %qs at %L shall not have codimensions with deferred shape"
msgstr ""
-#: fortran/resolve.c:15894
+#: fortran/resolve.c:15903
#, gcc-internal-format
msgid "Allocatable coarray variable %qs at %L must have deferred shape"
msgstr ""
-#: fortran/resolve.c:15907
+#: fortran/resolve.c:15916
#, 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.c:15916
+#: fortran/resolve.c:15925
#, gcc-internal-format
msgid "Coarray dummy variable %qs at %L not allowed in BIND(C) procedure %qs"
msgstr ""
-#: fortran/resolve.c:15932
+#: fortran/resolve.c:15941
#, gcc-internal-format
msgid ""
"LOGICAL dummy argument %qs at %L with non-C_Bool kind in BIND(C) procedure "
"%qs"
msgstr ""
-#: fortran/resolve.c:15938
+#: fortran/resolve.c:15947
#, gcc-internal-format
msgid ""
"LOGICAL result variable %qs at %L with non-C_Bool kind in BIND(C) procedure "
"%qs"
msgstr ""
-#: fortran/resolve.c:15963
+#: fortran/resolve.c:15972
#, gcc-internal-format
msgid "Namelist %qs cannot be an argument to subroutine or function at %L"
msgstr ""
-#: fortran/resolve.c:16033
+#: fortran/resolve.c:16042
#, gcc-internal-format, gfc-internal-format
msgid "Threadprivate at %L isn't SAVEd"
msgstr ""
-#: fortran/resolve.c:16044
+#: fortran/resolve.c:16053
#, gcc-internal-format
msgid "!$OMP DECLARE TARGET variable %qs at %L isn't SAVEd"
msgstr ""
-#: fortran/resolve.c:16149
+#: fortran/resolve.c:16158
#, gcc-internal-format, gfc-internal-format
msgid "Expecting definable entity near %L"
msgstr ""
-#: fortran/resolve.c:16157
+#: fortran/resolve.c:16166
#, gcc-internal-format
msgid "BLOCK DATA element %qs at %L must be in COMMON"
msgstr ""
-#: fortran/resolve.c:16164
+#: fortran/resolve.c:16173
#, gcc-internal-format
msgid "DATA array %qs at %L must be specified in a previous declaration"
msgstr ""
-#: fortran/resolve.c:16171
+#: fortran/resolve.c:16180
#, gcc-internal-format
msgid "DATA element %qs at %L cannot have a coindex"
msgstr ""
-#: fortran/resolve.c:16187
+#: fortran/resolve.c:16196
#, gcc-internal-format
msgid "DATA element %qs at %L is a pointer and so must be a full array"
msgstr ""
-#: fortran/resolve.c:16194
+#: fortran/resolve.c:16203
#, 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.c:16203
+#: fortran/resolve.c:16212
#, gcc-internal-format
msgid "DATA element %qs at %L cannot have the ALLOCATABLE attribute"
msgstr ""
-#: fortran/resolve.c:16249
+#: fortran/resolve.c:16258
#, gcc-internal-format, gfc-internal-format
msgid "Nonconstant array section at %L in DATA statement"
msgstr ""
-#: fortran/resolve.c:16262
+#: fortran/resolve.c:16271
#, gcc-internal-format, gfc-internal-format
msgid "DATA statement at %L has more variables than values"
msgstr ""
-#: fortran/resolve.c:16361
+#: fortran/resolve.c:16370
#, 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.c:16369
+#: fortran/resolve.c:16378
#, 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.c:16377
+#: fortran/resolve.c:16386
#, 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.c:16384
+#: fortran/resolve.c:16393
#, gcc-internal-format, gfc-internal-format
msgid "step of implied-do loop at %L shall not be zero"
msgstr ""
-#: fortran/resolve.c:16509
+#: fortran/resolve.c:16518
#, gcc-internal-format, gfc-internal-format
msgid "DATA statement at %L has more values than variables"
msgstr ""
-#: fortran/resolve.c:16675
+#: fortran/resolve.c:16684
#, gcc-internal-format, gfc-internal-format
msgid "Label %d at %L defined but not used"
msgstr ""
-#: fortran/resolve.c:16681
+#: fortran/resolve.c:16690
#, gcc-internal-format, gfc-internal-format
msgid "Label %d at %L defined but cannot be used"
msgstr ""
-#: fortran/resolve.c:16765
+#: fortran/resolve.c:16774
#, gcc-internal-format
msgid ""
"Derived type variable %qs at %L must have SEQUENCE attribute to be an "
"EQUIVALENCE object"
msgstr ""
-#: fortran/resolve.c:16774
+#: fortran/resolve.c:16783
#, gcc-internal-format
msgid ""
"Derived type variable %qs at %L cannot have ALLOCATABLE components to be an "
"EQUIVALENCE object"
msgstr ""
-#: fortran/resolve.c:16782
+#: fortran/resolve.c:16791
#, 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.c:16798
+#: fortran/resolve.c:16807
#, gcc-internal-format
msgid ""
"Derived type variable %qs at %L with pointer component(s) cannot be an "
"EQUIVALENCE object"
msgstr ""
-#: fortran/resolve.c:16901
+#: fortran/resolve.c:16910
#, gcc-internal-format, gfc-internal-format
msgid "Syntax error in EQUIVALENCE statement at %L"
msgstr ""
-#: fortran/resolve.c:16916
+#: fortran/resolve.c:16925
#, 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.c:16941
+#: fortran/resolve.c:16950
#, gcc-internal-format
msgid ""
"COMMON block member %qs at %L cannot be an EQUIVALENCE object in the pure "
"procedure %qs"
msgstr ""
-#: fortran/resolve.c:16950
+#: fortran/resolve.c:16959
#, gcc-internal-format
msgid "Named constant %qs at %L cannot be an EQUIVALENCE object"
msgstr ""
-#: fortran/resolve.c:17023
+#: fortran/resolve.c:17032
#, gcc-internal-format
msgid ""
"Array %qs at %L with non-constant bounds cannot be an EQUIVALENCE object"
msgstr ""
-#: fortran/resolve.c:17034
+#: fortran/resolve.c:17043
#, gcc-internal-format
msgid "Structure component %qs at %L cannot be an EQUIVALENCE object"
msgstr ""
-#: fortran/resolve.c:17045
+#: fortran/resolve.c:17054
#, gcc-internal-format, gfc-internal-format
msgid "Substring at %L has length zero"
msgstr ""
-#: fortran/resolve.c:17076
+#: fortran/resolve.c:17085
#, gcc-internal-format
msgid "Self reference in character length expression for %qs at %L"
msgstr ""
-#: fortran/resolve.c:17143
+#: fortran/resolve.c:17152
#, gcc-internal-format
msgid "PUBLIC function %qs at %L of PRIVATE type %qs"
msgstr ""
-#: fortran/resolve.c:17156
+#: fortran/resolve.c:17165
#, gcc-internal-format
msgid "ENTRY %qs at %L has no IMPLICIT type"
msgstr ""
-#: fortran/resolve.c:17176
+#: fortran/resolve.c:17185
#, gcc-internal-format
msgid "User operator procedure %qs at %L must be a FUNCTION"
msgstr ""
-#: fortran/resolve.c:17186
+#: fortran/resolve.c:17195
#, gcc-internal-format
msgid "User operator procedure %qs at %L cannot be assumed character length"
msgstr ""
-#: fortran/resolve.c:17194
+#: fortran/resolve.c:17203
#, gcc-internal-format
msgid "User operator procedure %qs at %L must have at least one argument"
msgstr ""
-#: fortran/resolve.c:17208
+#: fortran/resolve.c:17217
#, gcc-internal-format, gfc-internal-format
msgid "First argument of operator interface at %L cannot be optional"
msgstr ""
-#: fortran/resolve.c:17226
+#: fortran/resolve.c:17235
#, gcc-internal-format, gfc-internal-format
msgid "Second argument of operator interface at %L cannot be optional"
msgstr ""
-#: fortran/resolve.c:17233
+#: fortran/resolve.c:17242
#, gcc-internal-format, gfc-internal-format
msgid "Operator interface at %L must have, at most, two arguments"
msgstr ""
-#: fortran/resolve.c:17312
+#: fortran/resolve.c:17321
#, gcc-internal-format
msgid "Contained procedure %qs at %L of a PURE procedure must also be PURE"
msgstr ""
@@ -76176,19 +76243,19 @@ msgstr ""
#. Problems occur when we get something like
#. integer :: a(lots) = (/(i, i=1, lots)/)
-#: fortran/trans-array.c:6171
+#: fortran/trans-array.c:6138
#, gcc-internal-format
msgid ""
"The number of elements in the array constructor at %L requires an increase "
"of the allowed %d upper limit. See %<-fmax-array-constructor%> option"
msgstr ""
-#: fortran/trans-array.c:8204
+#: fortran/trans-array.c:8171
#, gcc-internal-format
msgid "Creating array temporary at %L for argument %qs"
msgstr ""
-#: fortran/trans-array.c:11392
+#: fortran/trans-array.c:11360
#, gcc-internal-format, gfc-internal-format
msgid "bad expression type during walk (%d)"
msgstr ""
@@ -76297,113 +76364,113 @@ msgid ""
"code to use an ALLOCATABLE array."
msgstr ""
-#: fortran/trans-decl.c:1763
+#: fortran/trans-decl.c:1764
#, gcc-internal-format
msgid "intrinsic variable which isn't a procedure"
msgstr ""
-#: fortran/trans-decl.c:4594 fortran/trans-decl.c:6958
+#: fortran/trans-decl.c:4599 fortran/trans-decl.c:6963
#, gcc-internal-format
msgid "Return value of function %qs at %L not set"
msgstr ""
-#: fortran/trans-decl.c:5082
+#: fortran/trans-decl.c:5087
#, gcc-internal-format
msgid "Deferred type parameter not yet supported"
msgstr ""
-#: fortran/trans-decl.c:5322
+#: fortran/trans-decl.c:5327
#, gcc-internal-format
msgid "backend decl for module variable %qs already exists"
msgstr ""
-#: fortran/trans-decl.c:5335
+#: fortran/trans-decl.c:5340
#, gcc-internal-format
msgid "Unused PRIVATE module variable %qs declared at %L"
msgstr ""
-#: fortran/trans-decl.c:5960
+#: fortran/trans-decl.c:5965
#, gcc-internal-format
msgid "Dummy argument %qs at %L was declared INTENT(OUT) but was not set"
msgstr ""
-#: fortran/trans-decl.c:5966
+#: fortran/trans-decl.c:5971
#, 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.c:5977 fortran/trans-decl.c:6123
+#: fortran/trans-decl.c:5982 fortran/trans-decl.c:6128
#, gcc-internal-format
msgid "Unused dummy argument %qs at %L"
msgstr ""
-#: fortran/trans-decl.c:5993
+#: fortran/trans-decl.c:5998
#, gcc-internal-format
msgid "Unused module variable %qs which has been explicitly imported at %L"
msgstr ""
-#: fortran/trans-decl.c:6012
+#: fortran/trans-decl.c:6017
#, gcc-internal-format
msgid "Unused variable %qs declared at %L"
msgstr ""
-#: fortran/trans-decl.c:6061
+#: fortran/trans-decl.c:6066
#, gcc-internal-format
msgid "Unused parameter %qs declared at %L"
msgstr ""
-#: fortran/trans-decl.c:6065
+#: fortran/trans-decl.c:6070
#, gcc-internal-format
msgid "Unused parameter %qs which has been explicitly imported at %L"
msgstr ""
-#: fortran/trans-decl.c:6095
+#: fortran/trans-decl.c:6100
#, gcc-internal-format
msgid "Return value %qs of function %qs declared at %L not set"
msgstr ""
-#: fortran/trans-decl.c:6687
+#: fortran/trans-decl.c:6692
#, gcc-internal-format, gfc-internal-format
msgid "Sorry, !$ACC DECLARE at %L is not allowed in BLOCK construct"
msgstr ""
-#: fortran/trans-expr.c:1030
+#: fortran/trans-expr.c:1067
#, gcc-internal-format, gfc-internal-format
msgid "Cannot compute the length of the char array at %L."
msgstr ""
-#: fortran/trans-expr.c:1798
+#: fortran/trans-expr.c:1835
#, gcc-internal-format, gfc-internal-format
msgid "Code for reallocating the allocatable variable at %L will be added"
msgstr ""
-#: fortran/trans-expr.c:2115
+#: fortran/trans-expr.c:2152
#, gcc-internal-format, gfc-internal-format
msgid ""
"Sorry, coindexed access to an unlimited polymorphic object at %L is not "
"supported"
msgstr ""
-#: fortran/trans-expr.c:2124
+#: fortran/trans-expr.c:2161
#, gcc-internal-format, gfc-internal-format
msgid ""
"Sorry, coindexed access to an unlimited polymorphic component at %L is not "
"supported"
msgstr ""
-#: fortran/trans-expr.c:3793
+#: fortran/trans-expr.c:3830
#, gcc-internal-format
msgid "Unknown intrinsic op"
msgstr ""
-#: fortran/trans-expr.c:5292
+#: fortran/trans-expr.c:5329
#, gcc-internal-format, gfc-internal-format
msgid "Unknown argument list function at %L"
msgstr ""
-#: fortran/trans-expr.c:9511
+#: fortran/trans-expr.c:9560
#, gcc-internal-format, gfc-internal-format
msgid ""
"If bounds remapping is specified at %L, the pointer target shall not be NULL"
@@ -76555,7 +76622,7 @@ msgstr ""
msgid "gfc_validate_kind(): Got bad kind"
msgstr ""
-#: fortran/trans.c:2220
+#: fortran/trans.c:2230
#, gcc-internal-format
msgid "gfc_trans_code(): Bad statement code"
msgstr ""
@@ -76682,7 +76749,7 @@ msgstr ""
#: lto/lto-lang.c:898
#, gcc-internal-format
-msgid "%<-flinker-output=rel%> and %<-fltrans%> are mutually exclussive"
+msgid "%<-flinker-output=rel%> and %<-fltrans%> are mutually exclusive"
msgstr ""
#: lto/lto-object.c:107
@@ -77807,7 +77874,7 @@ msgstr ""
msgid "Unrecognized option to floating-point init value: %qs"
msgstr ""
-#: fortran/lang.opt:775
+#: fortran/lang.opt:771
#, gcc-internal-format
msgid "Unrecognized option: %qs"
msgstr ""
@@ -77825,15 +77892,15 @@ msgstr ""
#: c-family/c.opt:70 c-family/c.opt:73 c-family/c.opt:76 c-family/c.opt:79
#: c-family/c.opt:175 c-family/c.opt:178 c-family/c.opt:220 c-family/c.opt:224
-#: c-family/c.opt:236 c-family/c.opt:2120 c-family/c.opt:2128 brig/lang.opt:44
-#: config/darwin.opt:30 common.opt:324 common.opt:327 common.opt:3319
+#: c-family/c.opt:236 c-family/c.opt:2107 c-family/c.opt:2115 brig/lang.opt:44
+#: config/darwin.opt:30 common.opt:324 common.opt:327 common.opt:3323
#, gcc-internal-format
msgid "missing filename after %qs"
msgstr ""
#: c-family/c.opt:85 c-family/c.opt:88 c-family/c.opt:91 c-family/c.opt:94
-#: c-family/c.opt:200 c-family/c.opt:212 c-family/c.opt:2116
-#: c-family/c.opt:2136 c-family/c.opt:2140 c-family/c.opt:2144
+#: c-family/c.opt:200 c-family/c.opt:212 c-family/c.opt:2103
+#: c-family/c.opt:2123 c-family/c.opt:2127 c-family/c.opt:2131
#, gcc-internal-format
msgid "missing path after %qs"
msgstr ""
@@ -77885,7 +77952,7 @@ msgstr ""
msgid "unrecognized ivar visibility value %qs"
msgstr ""
-#: c-family/c.opt:1980
+#: c-family/c.opt:1967
#, gcc-internal-format
msgid "unrecognized scalar storage order value %qs"
msgstr ""
@@ -77970,93 +78037,93 @@ msgstr ""
msgid "unknown linker output %qs"
msgstr ""
-#: common.opt:1502
+#: common.opt:1506
#, gcc-internal-format
msgid "unknown excess precision style %qs"
msgstr ""
-#: common.opt:1517
+#: common.opt:1521
#, gcc-internal-format
msgid ""
"unknown specification for the set of FLT_EVAL_METHOD values to permit %qs"
msgstr ""
-#: common.opt:1561
+#: common.opt:1565
#, gcc-internal-format
msgid "unknown floating point contraction style %qs"
msgstr ""
-#: common.opt:1718
+#: common.opt:1722
#, gcc-internal-format
msgid "unknown Stack Reuse Level %qs"
msgstr ""
-#: common.opt:1787
+#: common.opt:1791
#, gcc-internal-format
msgid "unknown Control-Flow Protection Level %qs"
msgstr ""
-#: common.opt:1889
+#: common.opt:1893
#, gcc-internal-format
msgid "unknown IRA algorithm %qs"
msgstr ""
-#: common.opt:1902
+#: common.opt:1906
#, gcc-internal-format
msgid "unknown IRA region %qs"
msgstr ""
-#: common.opt:1980
+#: common.opt:1984
#, gcc-internal-format
msgid "unknown LTO partitioning model %qs"
msgstr ""
-#: common.opt:2082
+#: common.opt:2086
#, gcc-internal-format
msgid "options or targets missing after %qs"
msgstr ""
-#: common.opt:2090
+#: common.opt:2094
#, gcc-internal-format
msgid "unknown offload ABI %qs"
msgstr ""
-#: common.opt:2232
+#: common.opt:2236
#, gcc-internal-format
msgid "unknown profile reproducibility method %qs"
msgstr ""
-#: common.opt:2248
+#: common.opt:2252
#, gcc-internal-format
msgid "unknown profile update method %qs"
msgstr ""
-#: common.opt:2350
+#: common.opt:2354
#, gcc-internal-format
msgid "unknown Live-Patching Level %qs"
msgstr ""
-#: common.opt:2383
+#: common.opt:2387
#, gcc-internal-format
msgid "unknown basic block reordering algorithm %qs"
msgstr ""
-#: common.opt:2690
+#: common.opt:2694
#, gcc-internal-format
msgid "unknown TLS model %qs"
msgstr ""
-#: common.opt:3026
+#: common.opt:3030
#, gcc-internal-format
msgid "unknown vectorizer cost model %qs"
msgstr ""
-#: common.opt:3067
+#: common.opt:3071
#, gcc-internal-format
msgid "unrecognized visibility value %qs"
msgstr ""
-#: common.opt:3086
+#: common.opt:3090
#, gcc-internal-format
msgid "unknown vtable verify initialization priority %qs"
msgstr ""
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 29c90df..d7e47c1 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,83 @@
+2021-04-21 David Edelsohn <dje.gcc@gmail.com>
+
+ * gfortran.dg/bind_c_array_params_2.f90: Look for AIX-specific call
+ pattern.
+
+2021-04-21 Marek Polacek <polacek@redhat.com>
+
+ PR c++/96380
+ * g++.dg/cpp0x/enum_base4.C: New test.
+ * g++.dg/cpp0x/enum_base5.C: New test.
+
+2021-04-21 Alex Coplan <alex.coplan@arm.com>
+
+ PR target/99988
+ * gcc.target/aarch64/pr99988.c: New test.
+
+2021-04-21 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/cpp1z/constexpr-lambda26.C: Add dg-additional-options
+ -fchecking.
+ * g++.dg/cpp1y/auto-fn61.C: Likewise.
+ * g++.dg/cpp2a/nontype-class39.C: Likewise.
+ * g++.dg/cpp0x/constexpr-52830.C: Likewise.
+ * g++.dg/cpp0x/vt-88982.C: Likewise.
+ * c-c++-common/goacc/kernels-decompose-ice-1.c: Add -fchecking to
+ dg-additional-options.
+ * c-c++-common/goacc/kernels-decompose-ice-2.c: Likewise.
+
+2021-04-21 H.J. Lu <hjl.tools@gmail.com>
+
+ * gcc.target/i386/monitor-2.c: New test.
+
+2021-04-21 Richard Biener <rguenther@suse.de>
+
+ PR testsuite/100176
+ * g++.dg/compat/struct-layout-1_generate.c: Add missing return.
+ * gcc.dg/compat/struct-layout-1_generate.c: Likewise.
+
+2021-04-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/100148
+ * g++.dg/opt/pr100148.C: New test.
+
+2021-04-21 Tobias Burnus <tobias@codesourcery.com>
+
+ * gfortran.dg/gomp/depobj-1.f90: New test.
+ * gfortran.dg/gomp/depobj-2.f90: New test.
+
+2021-04-21 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
+
+ * gcc.dg/vect/pr71264.c: Xfail on IBM Z due to V4QImode support.
+
+2021-04-21 Richard Sandiford <richard.sandiford@arm.com>
+
+ PR middle-end/100130
+ * c-c++-common/attr-retain-10.c: New test.
+ * c-c++-common/attr-retain-11.c: Likewise.
+
+2021-04-21 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
+
+ * gcc.dg/vect/bb-slp-39.c: Change number of times the pattern
+ must match for target IBM Z only.
+
+2021-04-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/100109
+ * g++.dg/cpp0x/lambda/lambda-variadic14.C: New test.
+
+2021-04-20 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
+
+ * gcc.target/s390/zero-scratch-regs-1.c: Force test to run for
+ z/Architecture only.
+
+2021-04-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/100110
+ * gfortran.dg/pdt_31.f03: New test.
+ * gfortran.dg/pdt_26.f03: Reduce 'builtin_malloc' count from 9
+ to 8.
+
2021-04-19 Marek Polacek <polacek@redhat.com>
PR c++/97536
diff --git a/gcc/testsuite/c-c++-common/attr-retain-10.c b/gcc/testsuite/c-c++-common/attr-retain-10.c
new file mode 100644
index 0000000..0bac947
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/attr-retain-10.c
@@ -0,0 +1,11 @@
+/* { dg-do compile { target R_flag_in_section } } */
+/* { dg-skip-if "non-ELF target" { *-*-darwin* powerpc*-*-aix* } } */
+/* { dg-options "-Wall -O2 -fno-toplevel-reorder" } */
+
+int __attribute__((used,retain,section(".data.foo"))) foo2 = 2;
+int between = 1;
+int __attribute__((section(".data.foo"))) foo1 = 1;
+/* { dg-warning "'.*' without 'retain' attribute and '.*' with 'retain' attribute are placed in a section with the same name" "" { target R_flag_in_section } .-1 } */
+
+/* { dg-final { scan-assembler ".data.foo,\"aw\"" { target R_flag_in_section } } } */
+/* { dg-final { scan-assembler ".data.foo,\"awR\"" { target R_flag_in_section } } } */
diff --git a/gcc/testsuite/c-c++-common/attr-retain-11.c b/gcc/testsuite/c-c++-common/attr-retain-11.c
new file mode 100644
index 0000000..d1d3d9e
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/attr-retain-11.c
@@ -0,0 +1,11 @@
+/* { dg-do compile { target R_flag_in_section } } */
+/* { dg-skip-if "non-ELF target" { *-*-darwin* powerpc*-*-aix* } } */
+/* { dg-options "-Wall -O2 -fno-toplevel-reorder" } */
+
+int __attribute__((section(".data.foo"))) foo1 = 1;
+/* { dg-warning "'.*' without 'retain' attribute and '.*' with 'retain' attribute are placed in a section with the same name" "" { target R_flag_in_section } .-1 } */
+int between = 1;
+int __attribute__((used,retain,section(".data.foo"))) foo2 = 2;
+
+/* { dg-final { scan-assembler ".data.foo,\"aw\"" { target R_flag_in_section } } } */
+/* { dg-final { scan-assembler ".data.foo,\"awR\"" { target R_flag_in_section } } } */
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-1.c b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-1.c
index d770b91d..8c3884b 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-1.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-1.c
@@ -1,7 +1,7 @@
/* Test OpenACC 'kernels' construct decomposition. */
/* { dg-additional-options "-fopt-info-omp-all" } */
-/* { dg-additional-options "--param=openacc-kernels=decompose" } */
+/* { dg-additional-options "-fchecking --param=openacc-kernels=decompose" } */
/* { dg-ice "TODO" }
{ dg-prune-output "during GIMPLE pass: omplower" } */
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-2.c b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-2.c
index ae059eb..8bf60a9 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-2.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-decompose-ice-2.c
@@ -1,6 +1,6 @@
/* Test OpenACC 'kernels' construct decomposition. */
-/* { dg-additional-options "--param=openacc-kernels=decompose" } */
+/* { dg-additional-options "-fchecking --param=openacc-kernels=decompose" } */
/* { dg-ice "TODO" }
{ dg-prune-output "during GIMPLE pass: omplower" } */
diff --git a/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c b/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c
index 990e6f4..e9ece64 100644
--- a/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c
+++ b/gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c
@@ -983,6 +983,8 @@ subvalues (struct entry *e, char *p, char *letter)
if (e[0].len != 0)
output_FNB ('B', e);
return 1;
+ default:
+ return 0;
}
}
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-52830.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-52830.C
index 2c9d2f9..eae0d8c 100644
--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-52830.C
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-52830.C
@@ -1,5 +1,6 @@
// PR c++/52830
// { dg-do compile { target c++11 } }
+// { dg-additional-options "-fchecking" }
// { dg-ice "comptypes" }
template<bool b> struct eif { typedef void type; };
diff --git a/gcc/testsuite/g++.dg/cpp0x/enum_base4.C b/gcc/testsuite/g++.dg/cpp0x/enum_base4.C
new file mode 100644
index 0000000..b301525
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/enum_base4.C
@@ -0,0 +1,8 @@
+// PR c++/96380
+// { dg-do compile { target c++11 } }
+
+extern const int a, b;
+enum struct c;
+template <class>
+enum struct c : union enum struct c { e = b, f = a }; // { dg-error "types may not be defined|expected|elaborated-type-specifier" }
+enum class c {};
diff --git a/gcc/testsuite/g++.dg/cpp0x/enum_base5.C b/gcc/testsuite/g++.dg/cpp0x/enum_base5.C
new file mode 100644
index 0000000..c01e857
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/enum_base5.C
@@ -0,0 +1,7 @@
+// PR c++/96380
+// { dg-do compile { target c++11 } }
+
+extern const int a, b;
+enum struct c;
+template <class>
+enum struct c : union enum struct c { e = b, f = a }; // { dg-error "types may not be defined|expected|elaborated-type-specifier" }
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic14.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic14.C
new file mode 100644
index 0000000..185aa03
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-variadic14.C
@@ -0,0 +1,8 @@
+// PR c++/100109
+// { dg-do compile { target c++11 } }
+
+template <int... E>
+void f() {
+ [] { enum e { e = E }; }; // { dg-error "not expanded" }
+}
+template void f<>();
diff --git a/gcc/testsuite/g++.dg/cpp0x/vt-88982.C b/gcc/testsuite/g++.dg/cpp0x/vt-88982.C
index cb9530d..7a86823 100644
--- a/gcc/testsuite/g++.dg/cpp0x/vt-88982.C
+++ b/gcc/testsuite/g++.dg/cpp0x/vt-88982.C
@@ -1,5 +1,6 @@
// PR c++/88982
// { dg-do compile { target c++11 } }
+// { dg-additional-options "-fchecking" }
// { dg-ice "tsubst_pack_expansion" }
template<typename...Ts> struct A {
diff --git a/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C b/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
index c24c3b8..bed5ea0 100644
--- a/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
+++ b/gcc/testsuite/g++.dg/cpp1y/auto-fn61.C
@@ -1,5 +1,6 @@
// PR c++/88003
// { dg-do compile { target c++14 } }
+// { dg-additional-options "-fchecking" }
// { dg-ice "poplevel_class" }
auto test() {
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda26.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda26.C
index d6c8bae..0cdb400 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda26.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-lambda26.C
@@ -1,5 +1,6 @@
// PR c++/87765
// { dg-do compile { target c++17 } }
+// { dg-additional-options "-fchecking" }
// { dg-ice "cxx_eval_constant_expression" }
template <int N>
diff --git a/gcc/testsuite/g++.dg/cpp2a/nontype-class39.C b/gcc/testsuite/g++.dg/cpp2a/nontype-class39.C
index f5f79a7..512afad 100644
--- a/gcc/testsuite/g++.dg/cpp2a/nontype-class39.C
+++ b/gcc/testsuite/g++.dg/cpp2a/nontype-class39.C
@@ -1,5 +1,6 @@
// PR c++/89565
// { dg-do compile { target c++20 } }
+// { dg-additional-options "-fchecking" }
// { dg-ice "resolve_args" }
template <auto>
diff --git a/gcc/testsuite/g++.dg/opt/pr100148.C b/gcc/testsuite/g++.dg/opt/pr100148.C
new file mode 100644
index 0000000..d038879
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/pr100148.C
@@ -0,0 +1,27 @@
+// PR rtl-optimization/100148
+// { dg-do compile }
+// { dg-options "-O2 -fno-dce -fno-tree-dce -fno-tree-dominator-opts -fno-tree-sink -fcompare-debug" }
+
+int i;
+enum E { } e, ee;
+
+bool
+baz (int)
+{
+ return ee;
+}
+
+bool bar ();
+bool a, b;
+
+void
+foo ()
+{
+ switch (ee)
+ {
+ case 0:
+ e = E (a ? : i);
+ case 1:
+ !(b || baz (0) && bar ());
+ }
+}
diff --git a/gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c b/gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c
index 75e902c..35dff89 100644
--- a/gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c
+++ b/gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c
@@ -1280,6 +1280,8 @@ subvalues (struct entry *e, char *p, char *letter)
if (e[0].len != 0)
output_FNB ('B', e);
return 1;
+ default:
+ return 0;
}
}
diff --git a/gcc/testsuite/gcc.dg/vect/bb-slp-39.c b/gcc/testsuite/gcc.dg/vect/bb-slp-39.c
index 255bb10..ee596cf 100644
--- a/gcc/testsuite/gcc.dg/vect/bb-slp-39.c
+++ b/gcc/testsuite/gcc.dg/vect/bb-slp-39.c
@@ -16,4 +16,5 @@ void foo (double *p)
}
/* See that we vectorize three SLP instances. */
-/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3 "slp2" } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 3 "slp2" { target { ! s390*-*-* } } } } */
+/* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 5 "slp2" { target { s390*-*-* } } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/pr71264.c b/gcc/testsuite/gcc.dg/vect/pr71264.c
index 5f6407a..dc849bf 100644
--- a/gcc/testsuite/gcc.dg/vect/pr71264.c
+++ b/gcc/testsuite/gcc.dg/vect/pr71264.c
@@ -19,5 +19,5 @@ void test(uint8_t *ptr, uint8_t *mask)
}
}
-/* { dg-final { scan-tree-dump "vectorized 1 loops in function" "vect" { xfail sparc*-*-* } } } */
+/* { dg-final { scan-tree-dump "vectorized 1 loops in function" "vect" { xfail s390*-*-* sparc*-*-* } } } */
diff --git a/gcc/testsuite/gcc.target/aarch64/pr99988.c b/gcc/testsuite/gcc.target/aarch64/pr99988.c
new file mode 100644
index 0000000..2d87f41
--- /dev/null
+++ b/gcc/testsuite/gcc.target/aarch64/pr99988.c
@@ -0,0 +1,66 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -mbranch-protection=standard" } */
+/* { dg-final { scan-assembler-times {bti j} 13 } } */
+int a;
+int c();
+int d();
+int e();
+int f();
+int g();
+void h() {
+ switch (a) {
+ case 0:
+ case 56:
+ case 57:
+ break;
+ case 58:
+ case 59:
+ case 61:
+ case 62:
+ c();
+ case 64:
+ case 63:
+ d();
+ case 66:
+ case 65:
+ d();
+ case 68:
+ case 67:
+ d();
+ case 69:
+ case 70:
+ d();
+ case 71:
+ case 72:
+ case 88:
+ case 87:
+ d();
+ case 90:
+ case 89:
+ d();
+ case 92:
+ case 1:
+ d();
+ case 93:
+ case 73:
+ case 4:
+ e();
+ case 76:
+ case 5:
+ f();
+ case 7:
+ case 8:
+ case 84:
+ case 85:
+ break;
+ case 6:
+ case 299:
+ case 9:
+ case 80:
+ case 2:
+ case 3:
+ e();
+ default:
+ g();
+ }
+}
diff --git a/gcc/testsuite/gcc.target/i386/monitor-2.c b/gcc/testsuite/gcc.target/i386/monitor-2.c
new file mode 100644
index 0000000..96eeec0
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/monitor-2.c
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -mmwait -mgeneral-regs-only" } */
+
+/* Verify that they work in both 32bit and 64bit. */
+
+#include <x86gprintrin.h>
+
+void
+foo (char *p, int x, int y, int z)
+{
+ _mm_monitor (p, y, x);
+ _mm_mwait (z, y);
+}
+
+void
+bar (char *p, long x, long y, long z)
+{
+ _mm_monitor (p, y, x);
+ _mm_mwait (z, y);
+}
+
+void
+foo1 (char *p)
+{
+ _mm_monitor (p, 0, 0);
+ _mm_mwait (0, 0);
+}
diff --git a/gcc/testsuite/gcc.target/s390/zero-scratch-regs-1.c b/gcc/testsuite/gcc.target/s390/zero-scratch-regs-1.c
index c394c4b..1c02c0c 100644
--- a/gcc/testsuite/gcc.target/s390/zero-scratch-regs-1.c
+++ b/gcc/testsuite/gcc.target/s390/zero-scratch-regs-1.c
@@ -1,65 +1,50 @@
/* { dg-do compile } */
-/* { dg-options "-O2 -fzero-call-used-regs=all -march=z13" } */
+/* { dg-options "-O2 -fzero-call-used-regs=all -march=z13 -mzarch" } */
/* Ensure that all call clobbered GPRs, FPRs, and VRs are zeroed and all call
saved registers are kept. */
void foo (void) { }
-/* { dg-final { scan-assembler-times "lhi\t" 6 { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lhi\t%r0,0" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lhi\t%r1,0" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lhi\t%r2,0" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lhi\t%r3,0" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lhi\t%r4,0" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lhi\t%r5,0" { target { ! lp64 } } } } */
+/* { dg-final { scan-assembler-times "lghi\t" 6 } } */
+/* { dg-final { scan-assembler "lghi\t%r0,0" } } */
+/* { dg-final { scan-assembler "lghi\t%r1,0" } } */
+/* { dg-final { scan-assembler "lghi\t%r2,0" } } */
+/* { dg-final { scan-assembler "lghi\t%r3,0" } } */
+/* { dg-final { scan-assembler "lghi\t%r4,0" } } */
+/* { dg-final { scan-assembler "lghi\t%r5,0" } } */
-/* { dg-final { scan-assembler-times "lzdr\t" 14 { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f0" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f1" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f2" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f3" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f5" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f7" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f8" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f9" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f10" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f11" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f12" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f13" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f14" { target { ! lp64 } } } } */
-/* { dg-final { scan-assembler "lzdr\t%f15" { target { ! lp64 } } } } */
-
-/* { dg-final { scan-assembler-times "lghi\t" 6 { target { lp64 } } } } */
-/* { dg-final { scan-assembler "lghi\t%r0,0" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "lghi\t%r1,0" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "lghi\t%r2,0" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "lghi\t%r3,0" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "lghi\t%r4,0" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "lghi\t%r5,0" { target { lp64 } } } } */
-
-/* { dg-final { scan-assembler-times "vzero\t" 24 { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v0" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v1" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v2" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v3" { target { lp64 } } } } */
+/* { dg-final { scan-assembler-times "vzero\t" 30 { target { ! lp64 } } } } */
+/* { dg-final { scan-assembler-times "vzero\t" 24 { target { lp64 } } } } */
+/* { dg-final { scan-assembler "vzero\t%v0" } } */
+/* { dg-final { scan-assembler "vzero\t%v1" } } */
+/* { dg-final { scan-assembler "vzero\t%v2" } } */
+/* { dg-final { scan-assembler "vzero\t%v3" } } */
/* { dg-final { scan-assembler "vzero\t%v4" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v5" { target { lp64 } } } } */
+/* { dg-final { scan-assembler "vzero\t%v5" } } */
/* { dg-final { scan-assembler "vzero\t%v6" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v7" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v16" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v17" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v18" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v19" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v20" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v21" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v22" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v23" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v24" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v25" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v26" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v27" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v28" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v29" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v30" { target { lp64 } } } } */
-/* { dg-final { scan-assembler "vzero\t%v31" { target { lp64 } } } } */
+/* { dg-final { scan-assembler "vzero\t%v7" } } */
+/* { dg-final { scan-assembler "vzero\t%v8" { target { ! lp64 } } } } */
+/* { dg-final { scan-assembler "vzero\t%v9" { target { ! lp64 } } } } */
+/* { dg-final { scan-assembler "vzero\t%v10" { target { ! lp64 } } } } */
+/* { dg-final { scan-assembler "vzero\t%v11" { target { ! lp64 } } } } */
+/* { dg-final { scan-assembler "vzero\t%v12" { target { ! lp64 } } } } */
+/* { dg-final { scan-assembler "vzero\t%v13" { target { ! lp64 } } } } */
+/* { dg-final { scan-assembler "vzero\t%v14" { target { ! lp64 } } } } */
+/* { dg-final { scan-assembler "vzero\t%v15" { target { ! lp64 } } } } */
+/* { dg-final { scan-assembler "vzero\t%v16" } } */
+/* { dg-final { scan-assembler "vzero\t%v17" } } */
+/* { dg-final { scan-assembler "vzero\t%v18" } } */
+/* { dg-final { scan-assembler "vzero\t%v19" } } */
+/* { dg-final { scan-assembler "vzero\t%v20" } } */
+/* { dg-final { scan-assembler "vzero\t%v21" } } */
+/* { dg-final { scan-assembler "vzero\t%v22" } } */
+/* { dg-final { scan-assembler "vzero\t%v23" } } */
+/* { dg-final { scan-assembler "vzero\t%v24" } } */
+/* { dg-final { scan-assembler "vzero\t%v25" } } */
+/* { dg-final { scan-assembler "vzero\t%v26" } } */
+/* { dg-final { scan-assembler "vzero\t%v27" } } */
+/* { dg-final { scan-assembler "vzero\t%v28" } } */
+/* { dg-final { scan-assembler "vzero\t%v29" } } */
+/* { dg-final { scan-assembler "vzero\t%v30" } } */
+/* { dg-final { scan-assembler "vzero\t%v31" } } */
diff --git a/gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90 b/gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90
index 4528d13..00628c1 100644
--- a/gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90
+++ b/gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90
@@ -16,9 +16,10 @@ integer :: aa(4,4)
call test(aa)
end
-! { dg-final { scan-assembler-times "\[ \t\]\[$,_0-9\]*myBindC" 1 { target { ! { hppa*-*-* s390*-*-* *-*-cygwin* amdgcn*-*-* } } } } }
+! { dg-final { scan-assembler-times "\[ \t\]\[$,_0-9\]*myBindC" 1 { target { ! { hppa*-*-* s390*-*-* *-*-cygwin* amdgcn*-*-* powerpc-ibm-aix*} } } } }
! { dg-final { scan-assembler-times "myBindC,%r2" 1 { target { hppa*-*-* } } } }
! { dg-final { scan-assembler-times "call\tmyBindC" 1 { target { *-*-cygwin* } } } }
! { dg-final { scan-assembler-times "brasl\t%r\[0-9\]*,myBindC" 1 { target { s390*-*-* } } } }
+! { dg-final { scan-assembler-times "bl \.myBindC" 1 { target { powerpc-ibm-aix* } } } }
! { dg-final { scan-assembler-times "add_u32\t\[sv\]\[0-9\]*, \[sv\]\[0-9\]*, myBindC@rel32@lo" 1 { target { amdgcn*-*-* } } } }
! { dg-final { scan-tree-dump-times "cfi_desc_to_gfc_desc \\\(&parm\\." 1 "original" } }
diff --git a/gcc/testsuite/gfortran.dg/gomp/depobj-1.f90 b/gcc/testsuite/gfortran.dg/gomp/depobj-1.f90
new file mode 100644
index 0000000..66cfb61
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/gomp/depobj-1.f90
@@ -0,0 +1,25 @@
+! { dg-do compile { target { fortran_integer_16 || ilp32 } } }
+! omp_depend_kind = 2*intptr_t --> 16 (128 bit) on 64bit-pointer systems
+! --> 8 (128 bit) on 32bit-pointer systems
+subroutine f1
+ !use omp_lib ! N/A in gcc/testsuite
+ use iso_c_binding, only: c_intptr_t
+ implicit none
+ integer, parameter :: omp_depend_kind = 2*c_intptr_t
+ integer :: a
+ integer(kind=omp_depend_kind) :: depobj1, depobj2, depobj3, depobj4, depobj5
+ !$omp depobj(depobj1) depend (in : a)
+ !$omp depobj(depobj2) depend (out : a)
+ !$omp depobj(depobj3) depend( inout : a)
+ !$omp depobj(depobj4) depend(mutexinoutset: a)
+ !$omp depobj(depobj1) update(out)
+ !$omp depobj(depobj2) update(mutexinoutset)
+ !$omp depobj(depobj3) update(in)
+ !$omp depobj(depobj4) update(inout)
+ !$omp task depend (depobj: depobj1, depobj2, depobj3)
+ !$omp end task
+
+ !$omp task depend(mutexinoutset: a)
+ !$omp end task
+ !$omp depobj(depobj2) destroy
+end subroutine f1
diff --git a/gcc/testsuite/gfortran.dg/gomp/depobj-2.f90 b/gcc/testsuite/gfortran.dg/gomp/depobj-2.f90
new file mode 100644
index 0000000..3ffd3d5
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/gomp/depobj-2.f90
@@ -0,0 +1,33 @@
+! { dg-do compile { target { fortran_integer_16 || ilp32 } } }
+! omp_depend_kind = 2*intptr_t --> 16 (128 bit) on 64bit-pointer systems
+! --> 8 (128 bit) on 32bit-pointer systems
+subroutine f1
+ !use omp_lib ! N/A in gcc/testsuite
+ use iso_c_binding, only: c_intptr_t
+ implicit none
+ integer, parameter :: omp_depend_kind = 2*c_intptr_t
+ integer :: a, b
+ integer(kind=omp_depend_kind) :: depobj, depobj1(5)
+ real :: r
+ integer(1) :: d
+
+ !$omp depobj ! { dg-error "Expected '\\( depobj \\)\'" }
+ !$omp depobj(depobj) ! { dg-error "Expected DEPEND, UPDATE, or DESTROY clause" }
+ !$omp depobj destroy ! { dg-error "Expected '\\( depobj \\)\'" }
+ !$omp depobj ( depobj1 ( 1 ) ) depend( inout : a) ! OK
+ !$omp depobj(depobj1) depend( inout : a) ! { dg-error "DEPOBJ in DEPOBJ construct at .1. shall be a scalar integer of OMP_DEPEND_KIND kind" }
+ !$omp depobj(depobj1(:)) depend( inout : a) ! { dg-error "DEPOBJ in DEPOBJ construct at .1. shall be a scalar integer of OMP_DEPEND_KIND kind" }
+ !$omp depobj(r) depend( inout : a) ! { dg-error "DEPOBJ in DEPOBJ construct at .1. shall be a scalar integer of OMP_DEPEND_KIND kind" }
+ !$omp depobj(d) depend( inout : a) ! { dg-error "DEPOBJ in DEPOBJ construct at .1. shall be a scalar integer of OMP_DEPEND_KIND kind" }
+ !$omp depobj(depobj) depend( inout : a, b) ! { dg-error "DEPEND clause at .1. of OMP DEPOBJ construct shall have only a single locator" }
+ !$omp depobj(depobj) depend(mutexinoutset : a) ! OK
+ !$omp depobj(depobj) depend(source) ! { dg-error "DEPEND clause at .1. of OMP DEPOBJ construct shall not have dependence-type SOURCE, SINK or DEPOBJ" }
+ !$omp depobj(depobj) depend(sink : i + 1) ! { dg-error "DEPEND clause at .1. of OMP DEPOBJ construct shall not have dependence-type SOURCE, SINK or DEPOBJ" }
+ !$omp depobj(depobj) update(source) ! { dg-error "Expected IN, OUT, INOUT, MUTEXINOUTSET followed by '\\)'" }
+ !$omp depobj(depobj) update(sink) ! { dg-error "Expected IN, OUT, INOUT, MUTEXINOUTSET followed by '\\)'" }
+ !$omp depobj(depobj) update(depobj) ! { dg-error "Expected IN, OUT, INOUT, MUTEXINOUTSET followed by '\\)'" }
+
+ ! Valid in OpenMP 5.1:
+ !$omp depobj(depobj5) depend(depobj: depobj3) ! { dg-error "DEPEND clause at .1. of OMP DEPOBJ construct shall not have dependence-type SOURCE, SINK or DEPOBJ" }
+end subroutine f1
+
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 4f63aa6..f985867 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -5564,37 +5564,29 @@ gimple_verify_flow_info (void)
label = gimple_label_label (as_a <glabel *> (stmt));
if (prev_stmt && DECL_NONLOCAL (label))
{
- error ("nonlocal label ");
- print_generic_expr (stderr, label);
- fprintf (stderr, " is not first in a sequence of labels in bb %d",
- bb->index);
+ error ("nonlocal label %qD is not first in a sequence "
+ "of labels in bb %d", label, bb->index);
err = 1;
}
if (prev_stmt && EH_LANDING_PAD_NR (label) != 0)
{
- error ("EH landing pad label ");
- print_generic_expr (stderr, label);
- fprintf (stderr, " is not first in a sequence of labels in bb %d",
- bb->index);
+ error ("EH landing pad label %qD is not first in a sequence "
+ "of labels in bb %d", label, bb->index);
err = 1;
}
if (label_to_block (cfun, label) != bb)
{
- error ("label ");
- print_generic_expr (stderr, label);
- fprintf (stderr, " to block does not match in bb %d",
- bb->index);
+ error ("label %qD to block does not match in bb %d",
+ label, bb->index);
err = 1;
}
if (decl_function_context (label) != current_function_decl)
{
- error ("label ");
- print_generic_expr (stderr, label);
- fprintf (stderr, " has incorrect context in bb %d",
- bb->index);
+ error ("label %qD has incorrect context in bb %d",
+ label, bb->index);
err = 1;
}
}
@@ -5616,9 +5608,8 @@ gimple_verify_flow_info (void)
if (glabel *label_stmt = dyn_cast <glabel *> (stmt))
{
- error ("label ");
- print_generic_expr (stderr, gimple_label_label (label_stmt));
- fprintf (stderr, " in the middle of basic block %d", bb->index);
+ error ("label %qD in the middle of basic block %d",
+ gimple_label_label (label_stmt), bb->index);
err = 1;
}
}
diff --git a/gcc/tree.c b/gcc/tree.c
index e4e74ac..6129d91 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -5538,9 +5538,11 @@ fld_simplified_type (tree t, class free_lang_data_d *fld)
if (POINTER_TYPE_P (t))
return fld_incomplete_type_of (t, fld);
/* FIXME: This triggers verification error, see PR88140. */
- if (TREE_CODE (t) == ARRAY_TYPE && 0)
+#if 0
+ if (TREE_CODE (t) == ARRAY_TYPE)
return fld_process_array_type (t, fld_simplified_type (TREE_TYPE (t), fld),
fld_simplified_types, fld);
+#endif
return t;
}
@@ -13451,7 +13453,7 @@ get_tree_code_name (enum tree_code code)
invalid values, so force an unsigned comparison. */
if (unsigned (code) >= MAX_TREE_CODES)
{
- if (code == 0xa5a5)
+ if ((unsigned)code == 0xa5a5)
return "ggc_freed";
return invalid;
}
@@ -14099,8 +14101,10 @@ verify_type_variant (const_tree t, tree tv)
verify_variant_match (TREE_CODE);
/* FIXME: Ada builds non-artificial variants of artificial types. */
- if (TYPE_ARTIFICIAL (tv) && 0)
+#if 0
+ if (TYPE_ARTIFICIAL (tv))
verify_variant_match (TYPE_ARTIFICIAL);
+#endif
if (POINTER_TYPE_P (tv))
verify_variant_match (TYPE_REF_CAN_ALIAS_ALL);
/* FIXME: TYPE_SIZES_GIMPLIFIED may differs for Ada build. */
@@ -14113,8 +14117,10 @@ verify_type_variant (const_tree t, tree tv)
else
verify_variant_match (TYPE_SATURATING);
/* FIXME: This check trigger during libstdc++ build. */
- if (RECORD_OR_UNION_TYPE_P (t) && COMPLETE_TYPE_P (t) && 0)
+#if 0
+ if (RECORD_OR_UNION_TYPE_P (t) && COMPLETE_TYPE_P (t))
verify_variant_match (TYPE_FINAL_P);
+#endif
/* tree_type_common checks. */
@@ -14149,8 +14155,10 @@ verify_type_variant (const_tree t, tree tv)
that may differ BY TYPE_CONTEXT that in turn may point
to TRANSLATION_UNIT_DECL.
Ada also builds variants of types with different TYPE_CONTEXT. */
- if ((!in_lto_p || !TYPE_FILE_SCOPE_P (t)) && 0)
+#if 0
+ if (!in_lto_p || !TYPE_FILE_SCOPE_P (t))
verify_variant_match (TYPE_CONTEXT);
+#endif
if (TREE_CODE (t) == ARRAY_TYPE || TREE_CODE (t) == INTEGER_TYPE)
verify_variant_match (TYPE_STRING_FLAG);
if (TREE_CODE (t) == RECORD_TYPE || TREE_CODE (t) == UNION_TYPE)
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 8bb921f..3ecf9e0 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -1314,6 +1314,10 @@ get_block_for_decl (tree decl)
if (SECTION_STYLE (sect) == SECTION_NOSWITCH)
return NULL;
+ if (bool (lookup_attribute ("retain", DECL_ATTRIBUTES (decl)))
+ != bool (sect->common.flags & SECTION_RETAIN))
+ return NULL;
+
return get_block_for_section (sect);
}
@@ -7758,33 +7762,33 @@ output_section_asm_op (const void *directive)
void
switch_to_section (section *new_section, tree decl)
{
- if (in_section == new_section)
+ bool retain_p;
+ if ((new_section->common.flags & SECTION_NAMED)
+ && decl != nullptr
+ && DECL_P (decl)
+ && ((retain_p = !!lookup_attribute ("retain",
+ DECL_ATTRIBUTES (decl)))
+ != !!(new_section->common.flags & SECTION_RETAIN)))
{
- bool retain_p;
- if ((new_section->common.flags & SECTION_NAMED)
- && decl != nullptr
- && DECL_P (decl)
- && ((retain_p = !!lookup_attribute ("retain",
- DECL_ATTRIBUTES (decl)))
- != !!(new_section->common.flags & SECTION_RETAIN)))
- {
- /* If the SECTION_RETAIN bit doesn't match, switch to a new
- section. */
- tree used_decl, no_used_decl;
+ /* If the SECTION_RETAIN bit doesn't match, switch to a new
+ section. */
+ tree used_decl, no_used_decl;
- if (retain_p)
- {
- new_section->common.flags |= SECTION_RETAIN;
- used_decl = decl;
- no_used_decl = new_section->named.decl;
- }
- else
- {
- new_section->common.flags &= ~(SECTION_RETAIN
- | SECTION_DECLARED);
- used_decl = new_section->named.decl;
- no_used_decl = decl;
- }
+ if (retain_p)
+ {
+ new_section->common.flags |= SECTION_RETAIN;
+ used_decl = decl;
+ no_used_decl = new_section->named.decl;
+ }
+ else
+ {
+ new_section->common.flags &= ~(SECTION_RETAIN
+ | SECTION_DECLARED);
+ used_decl = new_section->named.decl;
+ no_used_decl = decl;
+ }
+ if (no_used_decl != used_decl)
+ {
warning (OPT_Wattributes,
"%+qD without %<retain%> attribute and %qD with "
"%<retain%> attribute are placed in a section with "
@@ -7792,9 +7796,9 @@ switch_to_section (section *new_section, tree decl)
inform (DECL_SOURCE_LOCATION (used_decl),
"%qD was declared here", used_decl);
}
- else
- return;
}
+ else if (in_section == new_section)
+ return;
if (new_section->common.flags & SECTION_FORGET)
in_section = NULL;
@@ -8007,7 +8011,7 @@ output_object_block (struct object_block *block)
&& (strcmp (block->sect->named.name, ".vtable_map_vars") == 0))
handle_vtv_comdat_section (block->sect, block->sect->named.decl);
else
- switch_to_section (block->sect);
+ switch_to_section (block->sect, SYMBOL_REF_DECL ((*block->objects)[0]));
gcc_checking_assert (!(block->sect->common.flags & SECTION_MERGE));
assemble_align (block->alignment);
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 7b939ad..10ad750 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,24 @@
+2021-04-21 Tobias Burnus <tobias@codesourcery.com>
+
+ * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
+ omp_depend_kind instead of defining it as 16.
+
+2021-04-21 Tobias Burnus <tobias@codesourcery.com>
+
+ * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
+ New, based on check_effective_target_offload_target_nvptx.
+ (check_effective_target_offload_target_nvptx): Call it.
+ (check_effective_target_offload_target_amdgcn): New.
+ * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
+ Require target offload_target_nvptx || offload_target_amdgcn.
+ * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
+ * testsuite/libgomp.c/pr86416-1.c: Likewise.
+ * testsuite/libgomp.c/pr86416-2.c: Likewise.
+
+2021-04-21 Tobias Burnus <tobias@codesourcery.com>
+
+ * testsuite/libgomp.fortran/depobj-1.f90: New test.
+
2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
* testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
diff --git a/libgomp/testsuite/lib/libgomp.exp b/libgomp/testsuite/lib/libgomp.exp
index 14dcfdf..46cce9b 100644
--- a/libgomp/testsuite/lib/libgomp.exp
+++ b/libgomp/testsuite/lib/libgomp.exp
@@ -340,8 +340,10 @@ proc offload_target_to_openacc_device_type { offload_target } {
}
}
-# Return 1 if compiling for offload target nvptx.
-proc check_effective_target_offload_target_nvptx { } {
+# Return 1 if compiling for the specified offload target
+# Takes -foffload=... into account by checking OFFLOAD_TARGET_NAMES=
+# in the -v compiler output.
+proc libgomp_check_effective_target_offload_target { target_name } {
# Consider all actual options, including the flags passed to
# 'gcc-dg-runtest', or 'gfortran-dg-runtest' (see the 'libgomp.*/*.exp'
# files; in particular, '-foffload', 'libgomp.oacc-*/*.exp'), which don't
@@ -354,13 +356,23 @@ proc check_effective_target_offload_target_nvptx { } {
set gcc_output [libgomp_target_compile "" "" "none" $options]
if [regexp "(?n)^OFFLOAD_TARGET_NAMES=(.*)" $gcc_output dummy offload_targets] {
verbose "compiling for offload targets: $offload_targets"
- return [string match "*:nvptx*:*" ":$offload_targets:"]
+ return [string match "*:$target_name*:*" ":$offload_targets:"]
}
- verbose "not compiling for any offload targets"
+ verbose "not compiling for $target_name offload target"
return 0
}
+# Return 1 if compiling for offload target nvptx.
+proc check_effective_target_offload_target_nvptx { } {
+ return [libgomp_check_effective_target_offload_target "nvptx"]
+}
+
+# Return 1 if compiling for offload target amdgcn
+proc check_effective_target_offload_target_amdgcn { } {
+ return [libgomp_check_effective_target_offload_target "amdgcn"]
+}
+
# Return 1 if offload device is available.
proc check_effective_target_offload_device { } {
return [check_runtime_nocache offload_device_available_ {
diff --git a/libgomp/testsuite/libgomp.c-c++-common/function-not-offloaded.c b/libgomp/testsuite/libgomp.c-c++-common/function-not-offloaded.c
index 9e59ef8..bc1ae68 100644
--- a/libgomp/testsuite/libgomp.c-c++-common/function-not-offloaded.c
+++ b/libgomp/testsuite/libgomp.c-c++-common/function-not-offloaded.c
@@ -1,5 +1,5 @@
/* { dg-do link } */
-/* { dg-excess-errors "unresolved symbol foo, lto1, mkoffload and lto-wrapper fatal errors" { target offload_device_nonshared_as } } */
+/* { dg-excess-errors "unresolved symbol foo, lto1, mkoffload and lto-wrapper fatal errors" { target { offload_target_nvptx || offload_target_amdgcn } } } */
/* { dg-additional-sources "function-not-offloaded-aux.c" } */
#pragma omp declare target
diff --git a/libgomp/testsuite/libgomp.c-c++-common/reduction-16.c b/libgomp/testsuite/libgomp.c-c++-common/reduction-16.c
index e60fe36..0eea73b 100644
--- a/libgomp/testsuite/libgomp.c-c++-common/reduction-16.c
+++ b/libgomp/testsuite/libgomp.c-c++-common/reduction-16.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-additional-options "-foffload=-latomic" { target offload_target_nvptx } } */
+/* { dg-additional-options "-foffload=nvptx-none=-latomic" { target offload_target_nvptx } } */
#include <stdlib.h>
diff --git a/libgomp/testsuite/libgomp.c-c++-common/variable-not-offloaded.c b/libgomp/testsuite/libgomp.c-c++-common/variable-not-offloaded.c
index bc4b916..fe2a8b2 100644
--- a/libgomp/testsuite/libgomp.c-c++-common/variable-not-offloaded.c
+++ b/libgomp/testsuite/libgomp.c-c++-common/variable-not-offloaded.c
@@ -1,7 +1,7 @@
/* { dg-do link } */
-/* { dg-excess-errors "lto1, mkoffload and lto-wrapper fatal errors" { target offload_device_nonshared_as } } */
+/* { dg-excess-errors "lto1, mkoffload and lto-wrapper fatal errors" { target { offload_target_nvptx || offload_target_amdgcn } } } */
-int var; /* { dg-error "variable 'var' has been referenced in offloaded code but hasn't been marked to be included in the offloaded code" "" { target offload_device_nonshared_as } } */
+int var; /* { dg-error "variable 'var' has been referenced in offloaded code but hasn't been marked to be included in the offloaded code" "" { target { offload_target_nvptx || offload_target_amdgcn } } } */
#pragma omp declare target
void __attribute__((noinline, noclone))
diff --git a/libgomp/testsuite/libgomp.c/pr86416-1.c b/libgomp/testsuite/libgomp.c/pr86416-1.c
index ad9370f..6d38692 100644
--- a/libgomp/testsuite/libgomp.c/pr86416-1.c
+++ b/libgomp/testsuite/libgomp.c/pr86416-1.c
@@ -2,8 +2,8 @@
/* { dg-require-effective-target large_long_double } */
/* PR middle-end/86416 */
-/* { dg-error "bit-precision floating-point numbers unsupported .mode '.F'." "" { target offload_device } 0 } */
-/* { dg-excess-errors "Follow-up errors from mkoffload and lto-wrapper" { target offload_device } } */
+/* { dg-error "bit-precision floating-point numbers unsupported .mode '.F'." "" { target { offload_target_nvptx || offload_target_amdgcn } } 0 } */
+/* { dg-excess-errors "Follow-up errors from mkoffload and lto-wrapper" { target { offload_target_nvptx || offload_target_amdgcn } } } */
#include <stdlib.h> /* For abort. */
diff --git a/libgomp/testsuite/libgomp.c/pr86416-2.c b/libgomp/testsuite/libgomp.c/pr86416-2.c
index ec45e40..cffeb3f 100644
--- a/libgomp/testsuite/libgomp.c/pr86416-2.c
+++ b/libgomp/testsuite/libgomp.c/pr86416-2.c
@@ -2,8 +2,8 @@
/* { dg-add-options __float128 } */
/* PR middle-end/86416 */
-/* { dg-error "bit-precision floating-point numbers unsupported .mode '.F'." "" { target offload_device } 0 } */
-/* { dg-excess-errors "Follow-up errors from mkoffload and lto-wrapper" { target offload_device } } */
+/* { dg-error "bit-precision floating-point numbers unsupported .mode '.F'." "" { target { offload_target_nvptx || offload_target_amdgcn } } 0 } */
+/* { dg-excess-errors "Follow-up errors from mkoffload and lto-wrapper" { target { offload_target_nvptx || offload_target_amdgcn } } } */
#include <stdlib.h> /* For abort. */
diff --git a/libgomp/testsuite/libgomp.fortran/depobj-1.f90 b/libgomp/testsuite/libgomp.fortran/depobj-1.f90
new file mode 100644
index 0000000..1e239bba
--- /dev/null
+++ b/libgomp/testsuite/libgomp.fortran/depobj-1.f90
@@ -0,0 +1,112 @@
+module m
+ use omp_lib, only: omp_depend_kind
+ implicit none (type, external)
+ integer :: xx
+ integer(omp_depend_kind) :: dd1, dd2
+contains
+ subroutine dep
+ integer :: x
+ integer(omp_depend_kind) :: d1, d2
+ x = 1
+
+ !$omp depobj (d1) depend(in: x)
+ !$omp depobj (d2) depend(in: x)
+ !$omp depobj (d2) update(out)
+ !$omp parallel
+ !$omp single
+ !$omp task shared (x) depend(depobj: d2)
+ x = 2
+ !$omp end task
+ !$omp task shared (x) depend(depobj: d1)
+ if (x /= 2) &
+ stop 1
+ !$omp end task
+ !$omp end single
+ !$omp end parallel
+ !$omp depobj (d2) destroy
+ !$omp depobj (d1) destroy
+ end
+
+ subroutine dep2
+ integer, pointer :: x
+ integer(omp_depend_kind) :: d1, d2
+ pointer :: d1
+ allocate(d1, x)
+ call dep2i(d1, d2, x)
+ deallocate(d1)
+ contains
+ subroutine dep2i(d1, d2, x)
+ integer(omp_depend_kind) :: d1
+ integer(omp_depend_kind), optional :: d2
+ integer, pointer, optional :: x
+ pointer :: d1
+ !$omp parallel
+ !$omp single
+ x = 1
+ !$omp depobj (d1) depend(out: x)
+ !$omp depobj (d2) depend (in:x)
+ !$omp depobj(d2)update(in)
+ !$omp task shared (x) depend(depobj:d1)
+ x = 2
+ !$omp end task
+ !$omp task shared (x) depend(depobj : d2)
+ if (x /= 2) &
+ stop 2
+ !$omp end task
+ !$omp taskwait
+ !$omp depobj(d1)destroy
+ !$omp depobj(d2) destroy
+ !$omp end single
+ !$omp end parallel
+ end
+ end
+
+ subroutine dep3
+ integer :: x
+ integer(omp_depend_kind) :: d(2)
+ !$omp parallel
+ x = 1
+ !$omp single
+ !$omp depobj(d(1)) depend(out:x)
+ !$omp depobj(d(2)) depend(in: x)
+ !$omp task shared (x) depend(depobj: d(1))
+ x = 2
+ !$omp end task
+ !$omp task shared (x) depend(depobj: d(2))
+ if (x /= 2) &
+ stop 3
+ !$omp end task
+ !$omp end single
+ !$omp end parallel
+ !$omp depobj(d(1)) destroy
+ !$omp depobj(d(2)) destroy
+ end
+
+ subroutine antidep
+ xx = 1
+ !$omp parallel
+ !$omp single
+ !$omp task shared(xx) depend(depobj:dd2)
+ if (xx /= 1) &
+ stop 4
+ !$omp end task
+ !$omp task shared(xx) depend(depobj:dd1)
+ xx = 2
+ !$omp end task
+ !$omp end single
+ !$omp end parallel
+ end
+end module m
+
+program main
+ use m
+ implicit none (type, external)
+ call dep ()
+ call dep2 ()
+ call dep3 ()
+ !$omp depobj (dd1) depend (inout: xx)
+ !$omp depobj (dd2) depend (in : xx)
+ call antidep ()
+ !$omp depobj (dd2) destroy
+ !$omp depobj (dd1) destroy
+end program main
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 92fb71b..4f2605c 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,9 @@
+2021-04-21 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR demangler/100177
+ * rust-demangle.c (demangle_const_char): Properly print the
+ character value.
+
2021-03-31 Patrick Palka <ppalka@redhat.com>
PR c++/88115
diff --git a/libiberty/rust-demangle.c b/libiberty/rust-demangle.c
index 6fd8f6a..449941b 100644
--- a/libiberty/rust-demangle.c
+++ b/libiberty/rust-demangle.c
@@ -1253,9 +1253,12 @@ demangle_const_char (struct rust_demangler *rdm)
else if (value == '\n')
PRINT ("\\n");
else if (value > ' ' && value < '~')
- /* Rust also considers many non-ASCII codepoints to be printable, but
- that logic is not easily ported to C. */
- print_str (rdm, (char *) &value, 1);
+ {
+ /* Rust also considers many non-ASCII codepoints to be printable, but
+ that logic is not easily ported to C. */
+ char c = value;
+ print_str (rdm, &c, 1);
+ }
else
{
PRINT ("\\u{");
diff --git a/libphobos/ChangeLog b/libphobos/ChangeLog
index 56f7de5..a588ad2 100644
--- a/libphobos/ChangeLog
+++ b/libphobos/ChangeLog
@@ -1,3 +1,23 @@
+2021-04-21 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * libdruntime/core/thread/osthread.d (callWithStackShell): Statically
+ generate PPC and PPC64 asm implementations, and conditionally remove
+ PPC register names on non-Darwin targets.
+
+2021-04-20 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ PR d/98584
+ * libdruntime/gcc/deh.d (scanLSDA): Update calls to read_uleb128 and
+ read_encoded_value.
+ (actionTableLookup): Update calls to read_sleb128 and
+ read_encoded_value_with_base.
+ * libdruntime/gcc/unwind/pe.d (read_uleb128): Update signature.
+ (read_sleb128): Update signature.
+ (read_unaligned): New function.
+ (read_encoded_value_with_base): Update signature. Call read_unaligned
+ instead of unsafe pointer dereferencing.
+ (read_encoded_value): Update signature.
+
2021-04-19 Iain Buclaw <ibuclaw@gdcproject.org>
PR d/98494
diff --git a/libphobos/libdruntime/core/thread/osthread.d b/libphobos/libdruntime/core/thread/osthread.d
index 31764e6..9fcd30e 100644
--- a/libphobos/libdruntime/core/thread/osthread.d
+++ b/libphobos/libdruntime/core/thread/osthread.d
@@ -1444,55 +1444,35 @@ in (fn)
else version (PPC)
{
void*[19] regs = void;
- asm pure nothrow @nogc
- {
- "stw r13, %0" : "=m" (regs[ 0]);
- "stw r14, %0" : "=m" (regs[ 1]);
- "stw r15, %0" : "=m" (regs[ 2]);
- "stw r16, %0" : "=m" (regs[ 3]);
- "stw r17, %0" : "=m" (regs[ 4]);
- "stw r18, %0" : "=m" (regs[ 5]);
- "stw r19, %0" : "=m" (regs[ 6]);
- "stw r20, %0" : "=m" (regs[ 7]);
- "stw r21, %0" : "=m" (regs[ 9]);
- "stw r22, %0" : "=m" (regs[ 9]);
- "stw r23, %0" : "=m" (regs[10]);
- "stw r24, %0" : "=m" (regs[11]);
- "stw r25, %0" : "=m" (regs[12]);
- "stw r26, %0" : "=m" (regs[13]);
- "stw r27, %0" : "=m" (regs[14]);
- "stw r28, %0" : "=m" (regs[15]);
- "stw r29, %0" : "=m" (regs[16]);
- "stw r30, %0" : "=m" (regs[17]);
- "stw r31, %0" : "=m" (regs[18]);
- }
+ version (Darwin)
+ enum regname = "r";
+ else
+ enum regname = "";
+ static foreach (i; 0 .. regs.length)
+ {{
+ enum int j = 13 + i; // source register
+ asm pure nothrow @nogc
+ {
+ "stw "~regname~j.stringof~", %0" : "=m" (regs[i]);
+ }
+ }}
sp = cast(void*)&regs[0];
}
else version (PPC64)
{
void*[19] regs = void;
- asm pure nothrow @nogc
- {
- "std r13, %0" : "=m" (regs[ 0]);
- "std r14, %0" : "=m" (regs[ 1]);
- "std r15, %0" : "=m" (regs[ 2]);
- "std r16, %0" : "=m" (regs[ 3]);
- "std r17, %0" : "=m" (regs[ 4]);
- "std r18, %0" : "=m" (regs[ 5]);
- "std r19, %0" : "=m" (regs[ 6]);
- "std r20, %0" : "=m" (regs[ 7]);
- "std r21, %0" : "=m" (regs[ 8]);
- "std r22, %0" : "=m" (regs[ 9]);
- "std r23, %0" : "=m" (regs[10]);
- "std r24, %0" : "=m" (regs[11]);
- "std r25, %0" : "=m" (regs[12]);
- "std r26, %0" : "=m" (regs[13]);
- "std r27, %0" : "=m" (regs[14]);
- "std r28, %0" : "=m" (regs[15]);
- "std r29, %0" : "=m" (regs[16]);
- "std r30, %0" : "=m" (regs[17]);
- "std r31, %0" : "=m" (regs[18]);
- }
+ version (Darwin)
+ enum regname = "r";
+ else
+ enum regname = "";
+ static foreach (i; 0 .. regs.length)
+ {{
+ enum int j = 13 + i; // source register
+ asm pure nothrow @nogc
+ {
+ "std "~regname~j.stringof~", %0" : "=m" (regs[i]);
+ }
+ }}
sp = cast(void*)&regs[0];
}
else
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 7edf117..aeef1dc 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,185 @@
+2021-04-21 Thomas Rodgers <rodgert@twrodgers.com>
+
+ * include/bits/semaphore_base.h: Always reload __old in
+ __atomic_semaphore::_S_do_try_acquire().
+ * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
+ re-enable testcase.
+
+2021-04-21 Philippe Blain <levraiphilippeblain@gmail.com>
+ Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/99453
+ * python/Makefile.am: Install libstdc++*-gdb.py more robustly.
+ * python/Makefile.in: Regenerate.
+
+2021-04-21 Thomas Rodgers <rodgert@twrodgers.com>
+
+ * include/bits/semaphore_base.h: Add missing _M_try_acquire()
+ member to __platform_wait.
+
+2021-04-21 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/latch: Replace tab characters in license text.
+ * include/std/semaphore: Likewise.
+
+2021-04-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR libstdc++/100164
+ * acinclude.m4: For POSIX semaphores AC_DEFINE HAVE_POSIX_SEMAPHORE
+ rather than _GLIBCXX_HAVE_POSIX_SEMAPHORE.
+ * configure: Regenerated.
+ * config.h.in: Regenerated.
+
+2021-04-20 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/30_threads/semaphore/try_acquire_for.cc: Disable
+ test for targets not using futexes for semaphores.
+ * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
+ * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
+ Disable for all targets.
+
+2021-04-20 Thomas Rodgers <trodgers@redhat.com>
+
+ * include/Makefile.am: Add new <bits/this_thread_sleep.h> header.
+ * include/Makefile.in: Regenerate.
+ * include/bits/this_thread_sleep.h: New file.
+ * include/bits/atomic_base.h: Adjust all calls
+ to __atomic_wait/__atomic_notify for new call signatures.
+ * include/bits/atomic_timed_wait.h: Extensive rewrite.
+ * include/bits/atomic_wait.h: Likewise.
+ * include/bits/semaphore_base.h: Adjust all calls
+ to __atomic_wait/__atomic_notify for new call signatures.
+ * include/std/atomic: Likewise.
+ * include/std/barrier: Likewise.
+ * include/std/latch: Likewise.
+ * include/std/semaphore: Likewise.
+ * include/std/thread (this_thread::sleep_for)
+ (this_thread::sleep_until): Move to new header.
+ * testsuite/29_atomics/atomic/wait_notify/bool.cc: Simplify
+ test.
+ * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
+ * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
+ * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
+ * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
+ * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
+ * testsuite/29_atomics/atomic_ref/wait_notify.cc: Likewise.
+
+2021-04-20 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/95983
+ * include/bits/stl_iterator.h (__detail::__move_iter_cat):
+ Define.
+ (move_iterator): Derive from the above in C++20 in order to
+ conditionally define iterator_category as per P2259.
+ (move_iterator::__base_cat): No longer used, so remove.
+ (move_iterator::iterator_category): Remove in C++20.
+ (__detail::__common_iter_use_postfix_proxy): Define.
+ (common_iterator::_Proxy): Rename to ...
+ (common_iterator:__arrow_proxy): ... this.
+ (common_iterator::__postfix_proxy): Define as per P2259.
+ (common_iterator::operator->): Adjust.
+ (common_iterator::operator++): Adjust as per P2259.
+ (iterator_traits<common_iterator>::_S_iter_cat): Define.
+ (iterator_traits<common_iterator>::iterator_category): Change as
+ per P2259.
+ (__detail::__counted_iter_value_type): Define.
+ (__detail::__counted_iter_concept): Define.
+ (__detail::__counted_iter_cat): Define.
+ (counted_iterator): Derive from the above three classes in order
+ to conditionally define value_type, iterator_concept and
+ iterator category respectively as per P2259.
+ (counted_iterator::operator->): Define as per P2259.
+ (incrementable_traits<counted_iterator>): Remove as per P2259.
+ (iterator_traits<counted_iterator>): Adjust as per P2259.
+ * include/std/ranges (__detail::__iota_view_iter_cat): Define.
+ (iota_view::_Iterator): Derive from the above in order to
+ conditionally define iterator_category as per P2259.
+ (iota_view::_S_iter_cat): Rename to ...
+ (iota_view::_S_iter_concept): ... this.
+ (iota_view::iterator_concept): Use it to apply LWG 3291 changes.
+ (iota_view::iterator_category): Remove.
+ (__detail::__filter_view_iter_cat): Define.
+ (filter_view::_Iterator): Derive from the above in order to
+ conditionally define iterator_category as per P2259.
+ (filter_view::_Iterator): Move to struct __filter_view_iter_cat.
+ (filter_view::_Iterator::iterator_category): Remove.
+ (transform_view::_Base): Define.
+ (transform_view::__iter_cat): Define.
+ (transform_view::_Iterator): Derive from the above in order to
+ conditionally define iterator_category as per P2259.
+ (transform_view::_Iterator::_Base): Just alias
+ transform_view::_Base.
+ (transform_view::_Iterator::_S_iter_cat): Move to struct
+ transform_view::__iter_cat.
+ (transform_view::_Iterator::iterator_category): Remove.
+ (transform_view::_Sentinel::_Base): Just alias
+ transform_view::_Base.
+ (join_view::_Base): Define.
+ (join_view::_Outer_iter): Define.
+ (join_view::_Inner_iter): Define.
+ (join_view::_S_ref_is_glvalue): Define.
+ (join_view::__iter_cat): Define.
+ (join_view::_Iterator): Derive from it in order to conditionally
+ define iterator_category as per P2259.
+ (join_view::_Iterator::_Base): Just alias join_view::_Base.
+ (join_view::_Iterator::_S_ref_is_glvalue): Just alias
+ join_view::_S_ref_is_glvalue.
+ (join_view::_Iterator::_S_iter_cat): Move to struct
+ transform_view::__iter_cat.
+ (join_view::_Iterator::_Outer_iter): Just alias
+ join_view::_Outer_iter.
+ (join_view::_Iterator::_Inner_iter): Just alias
+ join_view::_Inner_iter.
+ (join_view::_Iterator::iterator_category): Remove.
+ (join_view::_Sentinel::_Base): Just alias join_view::_Base.
+ (__detail::__split_view_outer_iter_cat): Define.
+ (__detail::__split_view_inner_iter_cat): Define.
+ (split_view::_Base): Define.
+ (split_view::_Outer_iter): Derive from __split_view_outer_iter_cat
+ in order to conditionally define iterator_category as per P2259.
+ (split_view::_Outer_iter::iterator_category): Remove.
+ (split_view::_Inner_iter): Derive from __split_view_inner_iter_cat
+ in order to conditionally define iterator_category as per P2259.
+ (split_view::_Inner_iter::_S_iter_cat): Move to
+ __split_view_inner_iter_cat.
+ (split_view::_Inner_iter::iterator_category): Remove.
+ (elements_view::_Base): Define.
+ (elements_view::__iter_cat): Define.
+ (elements_view::_Iterator): Derive from the above in order to
+ conditionall define iterator_category as per P2259.
+ (elements_view::_Iterator::_Base): Just alias
+ elements_view::_Base.
+ (elements_view::_Iterator::_S_iter_concept)
+ (elements_view::_Iterator::iterator_concept): Define as per
+ P2259.
+ (elements_view::_Iterator::iterator_category): Remove.
+ (elements_view::_Sentinel::_Base): Just alias
+ elements_view::_Base.
+ * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
+ Adjust constraints on iterator_traits<counted_iterator>.
+ * testsuite/std/ranges/p2259.cc: New test.
+
+2021-04-20 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/100146
+ * include/std/charconv (__cpp_lib_to_chars): Define
+ conditionally.
+ * include/std/version (__cpp_lib_to_chars): Likewise..
+ * testsuite/20_util/from_chars/4.cc: Only check feature test
+ macro, not _GLIBCXX_HAVE_USELOCALE.
+ * testsuite/20_util/from_chars/5.cc: Likewise.
+ * testsuite/20_util/from_chars/6.cc: Likewise.
+ * testsuite/20_util/to_chars/long_double.cc: Likewise.
+
+2021-04-20 Jakub Jelinek <jakub@redhat.com>
+
+ * testsuite/util/testsuite_abi.cc (compare_symbols): If any symbol
+ versions with _IEEE128_ substring are found, set ieee_version_found
+ to true. Ignore missing symbols with _IEEE128_ in version name if
+ !ieee_version_found. Use i->first as version_name instead of
+ i->second.version_name if the latter is empty.
+ * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
+
2021-04-19 H.J. Lu <hjl.tools@gmail.com>
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt:
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index e4175ea..1c0a4c1 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -4097,7 +4097,7 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [
[ac_have_posix_semaphore=no])
if test $ac_have_posix_semaphore = yes ; then
- AC_DEFINE(_GLIBCXX_HAVE_POSIX_SEMAPHORE,
+ AC_DEFINE(HAVE_POSIX_SEMAPHORE,
1,
[Define to 1 if POSIX Semaphores with sem_timedwait are available in <semaphore.h>.])
fi
diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in
index d36ca26..37b56b8 100644
--- a/libstdc++-v3/config.h.in
+++ b/libstdc++-v3/config.h.in
@@ -291,6 +291,10 @@
/* Define to 1 if you have the `posix_memalign' function. */
#undef HAVE_POSIX_MEMALIGN
+/* Define to 1 if POSIX Semaphores with sem_timedwait are available in
+ <semaphore.h>. */
+#undef HAVE_POSIX_SEMAPHORE
+
/* Define to 1 if you have the `powf' function. */
#undef HAVE_POWF
@@ -818,10 +822,6 @@
/* Define if gthreads library is available. */
#undef _GLIBCXX_HAS_GTHREADS
-/* Define to 1 if POSIX Semaphores with sem_timedwait are available in
- <semaphore.h>. */
-#undef _GLIBCXX_HAVE_POSIX_SEMAPHORE
-
/* Define to 1 if a full hosted library is built, or 0 if freestanding. */
#undef _GLIBCXX_HOSTED
diff --git a/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt
index ba9f8bc..941c96e 100644
--- a/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt
+++ b/libstdc++-v3/config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt
@@ -548,6 +548,124 @@ FUNC:_ZNKSt15basic_streambufIwSt11char_traitsIwEE6getlocEv@@GLIBCXX_3.4
FUNC:_ZNKSt15basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
FUNC:_ZNKSt15basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
FUNC:_ZNKSt16bad_array_length4whatEv@@CXXABI_1.3.8
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRu9__ieee128@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRu9__ieee128@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intItEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIxEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE14_M_extract_intIyEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE16_M_extract_floatES4_S4_RSt8ios_baseRSt12_Ios_IostateRSs@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRu9__ieee128@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE3getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRPv@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRb@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRf@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRj@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRl@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRm@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRt@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRu9__ieee128@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRx@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE6do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRy@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE8__do_getES4_S4_RSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE12_M_group_intEPKcmcRSt8ios_basePcSA_Ri@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES4_S4_RSt8ios_basecT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intImEES4_S4_RSt8ios_basecT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIxEES4_S4_RSt8ios_basecT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIyEES4_S4_RSt8ios_basecT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE14_M_group_floatEPKcmcS7_PcS8_Ri@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIdEES4_S4_RSt8ios_baseccT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIgEES4_S4_RSt8ios_baseccT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE15_M_insert_floatIu9__ieee128EES4_S4_RSt8ios_baseccT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecPKv@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecb@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecl@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecm@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecu9__ieee128@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecx@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_RSt8ios_basecy@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6_M_padEclRSt8ios_basePcPKcRi@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecPKv@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecb@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecl@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecm@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecu9__ieee128@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecx@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_RSt8ios_basecy@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_RSt8ios_basecd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_RSt8ios_basecg@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE12_M_group_intEPKcmwRSt8ios_basePwSA_Ri@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIlEES4_S4_RSt8ios_basewT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intImEES4_S4_RSt8ios_basewT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIxEES4_S4_RSt8ios_basewT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE13_M_insert_intIyEES4_S4_RSt8ios_basewT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE14_M_group_floatEPKcmwPKwPwSA_Ri@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIdEES4_S4_RSt8ios_basewcT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIgEES4_S4_RSt8ios_basewcT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE15_M_insert_floatIu9__ieee128EES4_S4_RSt8ios_basewcT_@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewPKv@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewb@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewl@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewm@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewu9__ieee128@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewx@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_RSt8ios_basewy@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6_M_padEwlRSt8ios_basePwPKwRi@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewPKv@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewb@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewl@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewm@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewu9__ieee128@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewx@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES4_RSt8ios_basewy@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_RSt8ios_basewd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE8__do_putES4_RSt8ios_basewg@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIjEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intIlEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
FUNC:_ZNKSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE14_M_extract_intImEES4_S4_S4_RSt8ios_baseRSt12_Ios_IostateRT_@@GLIBCXX_LDBL_3.4
@@ -714,6 +832,16 @@ FUNC:_ZNKSt19__codecvt_utf8_baseIwE16do_always_noconvEv@@GLIBCXX_3.4.21
FUNC:_ZNKSt19__codecvt_utf8_baseIwE5do_inER11__mbstate_tPKcS4_RS4_PwS6_RS6_@@GLIBCXX_3.4.21
FUNC:_ZNKSt19__codecvt_utf8_baseIwE6do_outER11__mbstate_tPKwS4_RS4_PcS6_RS6_@@GLIBCXX_3.4.21
FUNC:_ZNKSt19__codecvt_utf8_baseIwE9do_lengthER11__mbstate_tPKcS4_m@@GLIBCXX_3.4.21
+FUNC:_ZNKSt19__gnu_cxx11_ieee1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRNSt7__cxx1112basic_stringIcS3_SaIcEEE@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt19__gnu_cxx11_ieee1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE6do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRu9__ieee128@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt19__gnu_cxx11_ieee1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt19__gnu_cxx11_ieee1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE8__do_getES4_S4_bRSt8ios_baseRSt12_Ios_IostateRg@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt19__gnu_cxx11_ieee1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES4_bRSt8ios_basecu9__ieee128@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt19__gnu_cxx11_ieee1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecRKNSt7__cxx1112basic_stringIcS3_SaIcEEE@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt19__gnu_cxx11_ieee1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES4_bRSt8ios_basecu9__ieee128@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt19__gnu_cxx11_ieee1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_bRSt8ios_basecd@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt19__gnu_cxx11_ieee1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE8__do_putES4_bRSt8ios_basecg@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNKSt19__gnu_cxx11_ieee1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES4_bRSt8ios_basewu9__ieee128@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4
FUNC:_ZNKSt19basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
FUNC:_ZNKSt19basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
@@ -778,6 +906,7 @@ FUNC:_ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@@GLIBCXX_3.4.10
FUNC:_ZNKSt3tr14hashISsEclESs@@GLIBCXX_3.4.10
FUNC:_ZNKSt3tr14hashIeEclEe@@GLIBCXX_3.4.10
FUNC:_ZNKSt3tr14hashIgEclEg@@GLIBCXX_LDBL_3.4.10
+FUNC:_ZNKSt3tr14hashIu9__ieee128EclEu9__ieee128@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@@GLIBCXX_3.4.10
FUNC:_ZNKSt4hashIRKSsEclES1_@@GLIBCXX_3.4.10
FUNC:_ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@@GLIBCXX_3.4.10
@@ -785,6 +914,7 @@ FUNC:_ZNKSt4hashISsEclESs@@GLIBCXX_3.4.10
FUNC:_ZNKSt4hashISt10error_codeEclES0_@@GLIBCXX_3.4.11
FUNC:_ZNKSt4hashIeEclEe@@GLIBCXX_3.4.10
FUNC:_ZNKSt4hashIgEclEg@@GLIBCXX_LDBL_3.4.10
+FUNC:_ZNKSt4hashIu9__ieee128EclEu9__ieee128@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
@@ -1642,6 +1772,7 @@ FUNC:_ZNSi10_M_extractIjEERSiRT_@@GLIBCXX_3.4.9
FUNC:_ZNSi10_M_extractIlEERSiRT_@@GLIBCXX_3.4.9
FUNC:_ZNSi10_M_extractImEERSiRT_@@GLIBCXX_3.4.9
FUNC:_ZNSi10_M_extractItEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIu9__ieee128EERSiRT_@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZNSi10_M_extractIxEERSiRT_@@GLIBCXX_3.4.9
FUNC:_ZNSi10_M_extractIyEERSiRT_@@GLIBCXX_3.4.9
FUNC:_ZNSi3getEPcl@@GLIBCXX_3.4
@@ -1695,6 +1826,7 @@ FUNC:_ZNSirsERl@@GLIBCXX_3.4
FUNC:_ZNSirsERm@@GLIBCXX_3.4
FUNC:_ZNSirsERs@@GLIBCXX_3.4
FUNC:_ZNSirsERt@@GLIBCXX_3.4
+FUNC:_ZNSirsERu9__ieee128@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZNSirsERx@@GLIBCXX_3.4
FUNC:_ZNSirsERy@@GLIBCXX_3.4
FUNC:_ZNSo3putEc@@GLIBCXX_3.4
@@ -1716,6 +1848,7 @@ FUNC:_ZNSo9_M_insertIeEERSoT_@@GLIBCXX_3.4.9
FUNC:_ZNSo9_M_insertIgEERSoT_@@GLIBCXX_LDBL_3.4.7
FUNC:_ZNSo9_M_insertIlEERSoT_@@GLIBCXX_3.4.9
FUNC:_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIu9__ieee128EERSoT_@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9
FUNC:_ZNSo9_M_insertIyEERSoT_@@GLIBCXX_3.4.9
FUNC:_ZNSoC1EOSo@@GLIBCXX_3.4.21
@@ -1747,6 +1880,7 @@ FUNC:_ZNSolsEl@@GLIBCXX_3.4
FUNC:_ZNSolsEm@@GLIBCXX_3.4
FUNC:_ZNSolsEs@@GLIBCXX_3.4
FUNC:_ZNSolsEt@@GLIBCXX_3.4
+FUNC:_ZNSolsEu9__ieee128@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZNSolsEx@@GLIBCXX_3.4
FUNC:_ZNSolsEy@@GLIBCXX_3.4
FUNC:_ZNSs10_S_compareEmm@@GLIBCXX_3.4.16
@@ -2467,6 +2601,7 @@ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@@GLIBCXX_3
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@@GLIBCXX_3.4.9
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@@GLIBCXX_3.4.9
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIu9__ieee128EERS2_RT_@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@@GLIBCXX_3.4.9
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@@GLIBCXX_3.4.9
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwl@@GLIBCXX_3.4
@@ -2520,6 +2655,7 @@ FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERl@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERm@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERs@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERt@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERu9__ieee128@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERx@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEErsERy@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw@@GLIBCXX_3.4
@@ -2541,6 +2677,7 @@ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@@GLIBCXX_3.4.
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIgEERS2_T_@@GLIBCXX_LDBL_3.4.7
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@@GLIBCXX_3.4.9
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIu9__ieee128EERS2_T_@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@@GLIBCXX_3.4.9
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@@GLIBCXX_3.4.9
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EOS2_@@GLIBCXX_3.4.21
@@ -2572,6 +2709,7 @@ FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEl@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEm@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEs@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEt@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEu9__ieee128@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEx@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEElsEy@@GLIBCXX_3.4
FUNC:_ZNSt13random_device14_M_init_pretr1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
@@ -2983,6 +3121,26 @@ FUNC:_ZNSt16invalid_argumentD2Ev@@GLIBCXX_3.4.15
FUNC:_ZNSt16nested_exceptionD0Ev@@CXXABI_1.3.5
FUNC:_ZNSt16nested_exceptionD1Ev@@CXXABI_1.3.5
FUNC:_ZNSt16nested_exceptionD2Ev@@CXXABI_1.3.5
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED1Ev@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEED2Ev@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC1Em@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEC2Em@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED0Ev@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED1Ev@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZNSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEED2Ev@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC1Em@@GLIBCXX_LDBL_3.4
FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEC2Em@@GLIBCXX_LDBL_3.4
FUNC:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEED0Ev@@GLIBCXX_LDBL_3.4
@@ -4294,6 +4452,7 @@ FUNC:_ZSt10from_charsPKcS0_RdSt12chars_format@@GLIBCXX_3.4.29
FUNC:_ZSt10from_charsPKcS0_ReSt12chars_format@@GLIBCXX_3.4.29
FUNC:_ZSt10from_charsPKcS0_RfSt12chars_format@@GLIBCXX_3.4.29
FUNC:_ZSt10from_charsPKcS0_RgSt12chars_format@@GLIBCXX_LDBL_3.4.29
+FUNC:_ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZSt10unexpectedv@@GLIBCXX_3.4
FUNC:_ZSt11_Hash_bytesPKvmm@@CXXABI_1.3.5
FUNC:_ZSt13get_terminatev@@GLIBCXX_3.4.20
@@ -4302,6 +4461,7 @@ FUNC:_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCX
FUNC:_ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
FUNC:_ZSt14__convert_to_vIgEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_LDBL_3.4
+FUNC:_ZSt14__convert_to_vIu9__ieee128EvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZSt14get_unexpectedv@@GLIBCXX_3.4.20
FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
FUNC:_ZSt15_Fnv_hash_bytesPKvmm@@CXXABI_1.3.5
@@ -4384,6 +4544,13 @@ FUNC:_ZSt8to_charsPcS_fSt12chars_formati@@GLIBCXX_3.4.29
FUNC:_ZSt8to_charsPcS_g@@GLIBCXX_LDBL_3.4.29
FUNC:_ZSt8to_charsPcS_gSt12chars_format@@GLIBCXX_LDBL_3.4.29
FUNC:_ZSt8to_charsPcS_gSt12chars_formati@@GLIBCXX_LDBL_3.4.29
+FUNC:_ZSt8to_charsPcS_u9__ieee128@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt8to_charsPcS_u9__ieee128St12chars_format@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt8to_charsPcS_u9__ieee128St12chars_formati@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt9has_facetINSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt9has_facetINSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt9has_facetINSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt9has_facetINSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
@@ -4392,6 +4559,10 @@ FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcS
FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
FUNC:_ZSt9has_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_LDBL_3.4
+FUNC:_ZSt9has_facetINSt19__gnu_cxx11_ieee1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt9has_facetINSt19__gnu_cxx11_ieee1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt9has_facetINSt19__gnu_cxx11_ieee1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEEbRKSt6locale@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt9has_facetINSt19__gnu_cxx11_ieee1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEEbRKSt6locale@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIcLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
FUNC:_ZSt9has_facetINSt7__cxx1110moneypunctIwLb0EEEEbRKSt6locale@@GLIBCXX_3.4.21
FUNC:_ZSt9has_facetINSt7__cxx117collateIcEEEbRKSt6locale@@GLIBCXX_3.4.21
@@ -4433,6 +4604,10 @@ FUNC:_ZSt9has_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE
FUNC:_ZSt9has_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEbRKSt6locale@@GLIBCXX_3.4
FUNC:_ZSt9has_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEbRKSt6locale@@GLIBCXX_3.4
FUNC:_ZSt9terminatev@@GLIBCXX_3.4
+FUNC:_ZSt9use_facetINSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt9use_facetINSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt9use_facetINSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt9use_facetINSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
@@ -4441,6 +4616,10 @@ FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcS
FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
FUNC:_ZSt9use_facetINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_LDBL_3.4
+FUNC:_ZSt9use_facetINSt19__gnu_cxx11_ieee1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt9use_facetINSt19__gnu_cxx11_ieee1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt9use_facetINSt19__gnu_cxx11_ieee1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEEERKT_RKSt6locale@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZSt9use_facetINSt19__gnu_cxx11_ieee1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEEERKT_RKSt6locale@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIcLb0EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIcLb1EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
FUNC:_ZSt9use_facetINSt7__cxx1110moneypunctIwLb0EEEERKT_RKSt6locale@@GLIBCXX_3.4.21
@@ -4507,6 +4686,8 @@ FUNC:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@
FUNC:_ZStlsIfwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_3.4
FUNC:_ZStlsIgcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_LDBL_3.4
FUNC:_ZStlsIgwSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_LDBL_3.4
+FUNC:_ZStlsIu9__ieee128cSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZStlsIu9__ieee128wSt11char_traitsIwEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_@@GLIBCXX_3.4
FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKc@@GLIBCXX_3.4
FUNC:_ZStlsIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_S3_@@GLIBCXX_3.4
@@ -4553,6 +4734,8 @@ FUNC:_ZStrsIfcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@G
FUNC:_ZStrsIfwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_3.4
FUNC:_ZStrsIgcSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_LDBL_3.4
FUNC:_ZStrsIgwSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_LDBL_3.4
+FUNC:_ZStrsIu9__ieee128cSt11char_traitsIcEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_IEEE128_3.4.29
+FUNC:_ZStrsIu9__ieee128wSt11char_traitsIwEERSt13basic_istreamIT0_T1_ES6_RSt7complexIT_E@@GLIBCXX_IEEE128_3.4.29
FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_PS3_@@GLIBCXX_3.4
FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_RS3_@@GLIBCXX_3.4
FUNC:_ZStrsIwSt11char_traitsIwEERSt13basic_istreamIT_T0_ES6_St12_Setiosflags@@GLIBCXX_3.4
@@ -4734,6 +4917,7 @@ OBJECT:0:CXXABI_1.3.6
OBJECT:0:CXXABI_1.3.7
OBJECT:0:CXXABI_1.3.8
OBJECT:0:CXXABI_1.3.9
+OBJECT:0:CXXABI_IEEE128_1.3.13
OBJECT:0:CXXABI_LDBL_1.3
OBJECT:0:CXXABI_TM_1
OBJECT:0:GLIBCXX_3.4
@@ -4766,6 +4950,7 @@ OBJECT:0:GLIBCXX_3.4.6
OBJECT:0:GLIBCXX_3.4.7
OBJECT:0:GLIBCXX_3.4.8
OBJECT:0:GLIBCXX_3.4.9
+OBJECT:0:GLIBCXX_IEEE128_3.4.29
OBJECT:0:GLIBCXX_LDBL_3.4
OBJECT:0:GLIBCXX_LDBL_3.4.10
OBJECT:0:GLIBCXX_LDBL_3.4.21
@@ -4791,6 +4976,8 @@ OBJECT:104:_ZTVSt17moneypunct_bynameIwLb0EE@@GLIBCXX_3.4
OBJECT:104:_ZTVSt17moneypunct_bynameIwLb1EE@@GLIBCXX_3.4
OBJECT:112:_ZNSt17__timepunct_cacheIcE12_S_timezonesE@@GLIBCXX_3.4
OBJECT:112:_ZNSt17__timepunct_cacheIwE12_S_timezonesE@@GLIBCXX_3.4
+OBJECT:112:_ZTVNSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:112:_ZTVNSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_IEEE128_3.4.29
OBJECT:120:_ZTVNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE@@GLIBCXX_3.4.21
OBJECT:120:_ZTVNSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEEE@@GLIBCXX_3.4.21
OBJECT:120:_ZTVSd@@GLIBCXX_3.4
@@ -4823,11 +5010,16 @@ OBJECT:12:_ZTSSt5ctypeIcE@@GLIBCXX_3.4
OBJECT:12:_ZTSSt5ctypeIwE@@GLIBCXX_3.4
OBJECT:12:_ZTSSt8bad_cast@@GLIBCXX_3.4
OBJECT:12:_ZTSSt8ios_base@@GLIBCXX_3.4
+OBJECT:12:_ZTSu9__ieee128@@CXXABI_IEEE128_1.3.13
+OBJECT:136:_ZTVNSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:136:_ZTVNSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:13:_ZTSPu9__ieee128@@CXXABI_IEEE128_1.3.13
OBJECT:13:_ZTSSt9bad_alloc@@GLIBCXX_3.4
OBJECT:13:_ZTSSt9exception@@GLIBCXX_3.4
OBJECT:13:_ZTSSt9strstream@@GLIBCXX_3.4
OBJECT:13:_ZTSSt9time_base@@GLIBCXX_3.4
OBJECT:13:_ZTSSt9type_info@@GLIBCXX_3.4
+OBJECT:14:_ZTSPKu9__ieee128@@CXXABI_IEEE128_1.3.13
OBJECT:14:_ZTSSt7collateIcE@@GLIBCXX_3.4
OBJECT:14:_ZTSSt7collateIwE@@GLIBCXX_3.4
OBJECT:15:_ZTSSt10bad_typeid@@GLIBCXX_3.4
@@ -4883,6 +5075,7 @@ OBJECT:16:_ZTIn@@CXXABI_1.3.5
OBJECT:16:_ZTIo@@CXXABI_1.3.5
OBJECT:16:_ZTIs@@CXXABI_1.3
OBJECT:16:_ZTIt@@CXXABI_1.3
+OBJECT:16:_ZTIu9__ieee128@@CXXABI_IEEE128_1.3.13
OBJECT:16:_ZTIv@@CXXABI_1.3
OBJECT:16:_ZTIw@@CXXABI_1.3
OBJECT:16:_ZTIx@@CXXABI_1.3
@@ -5190,6 +5383,19 @@ OBJECT:1:_ZNSt14numeric_limitsItE8is_exactE@@GLIBCXX_3.4
OBJECT:1:_ZNSt14numeric_limitsItE9is_iec559E@@GLIBCXX_3.4
OBJECT:1:_ZNSt14numeric_limitsItE9is_moduloE@@GLIBCXX_3.4
OBJECT:1:_ZNSt14numeric_limitsItE9is_signedE@@GLIBCXX_3.4
+OBJECT:1:_ZNSt14numeric_limitsIu9__ieee128E10is_boundedE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:1:_ZNSt14numeric_limitsIu9__ieee128E10is_integerE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:1:_ZNSt14numeric_limitsIu9__ieee128E12has_infinityE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:1:_ZNSt14numeric_limitsIu9__ieee128E13has_quiet_NaNE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:1:_ZNSt14numeric_limitsIu9__ieee128E14is_specializedE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:1:_ZNSt14numeric_limitsIu9__ieee128E15has_denorm_lossE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:1:_ZNSt14numeric_limitsIu9__ieee128E15tinyness_beforeE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:1:_ZNSt14numeric_limitsIu9__ieee128E17has_signaling_NaNE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:1:_ZNSt14numeric_limitsIu9__ieee128E5trapsE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:1:_ZNSt14numeric_limitsIu9__ieee128E8is_exactE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:1:_ZNSt14numeric_limitsIu9__ieee128E9is_iec559E@@GLIBCXX_IEEE128_3.4.29
+OBJECT:1:_ZNSt14numeric_limitsIu9__ieee128E9is_moduloE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:1:_ZNSt14numeric_limitsIu9__ieee128E9is_signedE@@GLIBCXX_IEEE128_3.4.29
OBJECT:1:_ZNSt14numeric_limitsIwE10is_boundedE@@GLIBCXX_3.4
OBJECT:1:_ZNSt14numeric_limitsIwE10is_integerE@@GLIBCXX_3.4
OBJECT:1:_ZNSt14numeric_limitsIwE12has_infinityE@@GLIBCXX_3.4
@@ -5296,6 +5502,10 @@ OBJECT:24:_ZTIN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEE@@GLIBCXX_3.4
OBJECT:24:_ZTINSt10filesystem16filesystem_errorE@@GLIBCXX_3.4.26
OBJECT:24:_ZTINSt10filesystem7__cxx1116filesystem_errorE@@GLIBCXX_3.4.26
OBJECT:24:_ZTINSt13__future_base19_Async_state_commonE@@GLIBCXX_3.4.17
+OBJECT:24:_ZTINSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:24:_ZTINSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:24:_ZTINSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:24:_ZTINSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_IEEE128_3.4.29
OBJECT:24:_ZTINSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
OBJECT:24:_ZTINSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
OBJECT:24:_ZTINSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
@@ -5304,6 +5514,10 @@ OBJECT:24:_ZTINSt17__gnu_cxx_ldbl1289money_getIcSt19istreambuf_iteratorIcSt11cha
OBJECT:24:_ZTINSt17__gnu_cxx_ldbl1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
OBJECT:24:_ZTINSt17__gnu_cxx_ldbl1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
OBJECT:24:_ZTINSt17__gnu_cxx_ldbl1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
+OBJECT:24:_ZTINSt19__gnu_cxx11_ieee1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:24:_ZTINSt19__gnu_cxx11_ieee1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:24:_ZTINSt19__gnu_cxx11_ieee1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:24:_ZTINSt19__gnu_cxx11_ieee1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_IEEE128_3.4.29
OBJECT:24:_ZTINSt3pmr25monotonic_buffer_resourceE@@GLIBCXX_3.4.28
OBJECT:24:_ZTINSt3pmr26synchronized_pool_resourceE@@GLIBCXX_3.4.26
OBJECT:24:_ZTINSt3pmr28unsynchronized_pool_resourceE@@GLIBCXX_3.4.26
@@ -5529,6 +5743,7 @@ OBJECT:32:_ZTIPKn@@CXXABI_1.3.5
OBJECT:32:_ZTIPKo@@CXXABI_1.3.5
OBJECT:32:_ZTIPKs@@CXXABI_1.3
OBJECT:32:_ZTIPKt@@CXXABI_1.3
+OBJECT:32:_ZTIPKu9__ieee128@@CXXABI_IEEE128_1.3.13
OBJECT:32:_ZTIPKv@@CXXABI_1.3
OBJECT:32:_ZTIPKw@@CXXABI_1.3
OBJECT:32:_ZTIPKx@@CXXABI_1.3
@@ -5549,6 +5764,7 @@ OBJECT:32:_ZTIPn@@CXXABI_1.3.5
OBJECT:32:_ZTIPo@@CXXABI_1.3.5
OBJECT:32:_ZTIPs@@CXXABI_1.3
OBJECT:32:_ZTIPt@@CXXABI_1.3
+OBJECT:32:_ZTIPu9__ieee128@@CXXABI_IEEE128_1.3.13
OBJECT:32:_ZTIPv@@CXXABI_1.3
OBJECT:32:_ZTIPw@@CXXABI_1.3
OBJECT:32:_ZTIPx@@CXXABI_1.3
@@ -5887,6 +6103,16 @@ OBJECT:4:_ZNSt14numeric_limitsItE14min_exponent10E@@GLIBCXX_3.4
OBJECT:4:_ZNSt14numeric_limitsItE5radixE@@GLIBCXX_3.4
OBJECT:4:_ZNSt14numeric_limitsItE6digitsE@@GLIBCXX_3.4
OBJECT:4:_ZNSt14numeric_limitsItE8digits10E@@GLIBCXX_3.4
+OBJECT:4:_ZNSt14numeric_limitsIu9__ieee128E10has_denormE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:4:_ZNSt14numeric_limitsIu9__ieee128E11round_styleE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:4:_ZNSt14numeric_limitsIu9__ieee128E12max_digits10E@@GLIBCXX_IEEE128_3.4.29
+OBJECT:4:_ZNSt14numeric_limitsIu9__ieee128E12max_exponentE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:4:_ZNSt14numeric_limitsIu9__ieee128E12min_exponentE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:4:_ZNSt14numeric_limitsIu9__ieee128E14max_exponent10E@@GLIBCXX_IEEE128_3.4.29
+OBJECT:4:_ZNSt14numeric_limitsIu9__ieee128E14min_exponent10E@@GLIBCXX_IEEE128_3.4.29
+OBJECT:4:_ZNSt14numeric_limitsIu9__ieee128E5radixE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:4:_ZNSt14numeric_limitsIu9__ieee128E6digitsE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:4:_ZNSt14numeric_limitsIu9__ieee128E8digits10E@@GLIBCXX_IEEE128_3.4.29
OBJECT:4:_ZNSt14numeric_limitsIwE10has_denormE@@GLIBCXX_3.4
OBJECT:4:_ZNSt14numeric_limitsIwE11round_styleE@@GLIBCXX_3.4
OBJECT:4:_ZNSt14numeric_limitsIwE12max_digits10E@@GLIBCXX_3.4.14
@@ -6063,6 +6289,10 @@ OBJECT:64:_ZTVN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
OBJECT:64:_ZTVN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
OBJECT:64:_ZTVN10__cxxabiv120__function_type_infoE@@CXXABI_1.3
OBJECT:64:_ZTVN10__cxxabiv123__fundamental_type_infoE@@CXXABI_1.3
+OBJECT:64:_ZTVNSt19__gnu_cxx11_ieee1289money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:64:_ZTVNSt19__gnu_cxx11_ieee1289money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:64:_ZTVNSt19__gnu_cxx11_ieee1289money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:64:_ZTVNSt19__gnu_cxx11_ieee1289money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_IEEE128_3.4.29
OBJECT:64:_ZTVSt9type_info@@GLIBCXX_3.4
OBJECT:67:_ZTSSt15time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE@@GLIBCXX_3.4
OBJECT:67:_ZTSSt15time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE@@GLIBCXX_3.4
@@ -6088,6 +6318,10 @@ OBJECT:72:_ZTVSt8numpunctIcE@@GLIBCXX_3.4
OBJECT:72:_ZTVSt8numpunctIwE@@GLIBCXX_3.4
OBJECT:77:_ZTSNSt7__cxx1115time_get_bynameIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_3.4.21
OBJECT:77:_ZTSNSt7__cxx1115time_get_bynameIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_3.4.21
+OBJECT:79:_ZTSNSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:79:_ZTSNSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:79:_ZTSNSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:79:_ZTSNSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_IEEE128_3.4.29
OBJECT:79:_ZTSNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
OBJECT:79:_ZTSNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEEE@@GLIBCXX_LDBL_3.4
OBJECT:79:_ZTSNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEEE@@GLIBCXX_LDBL_3.4
@@ -6158,6 +6392,10 @@ OBJECT:8:_ZGVNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt11__timepunctIcE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt11__timepunctIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZGVNSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:8:_ZGVNSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:8:_ZGVNSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:8:_ZGVNSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_IEEE128_3.4.29
OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
OBJECT:8:_ZGVNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
@@ -6213,6 +6451,10 @@ OBJECT:8:_ZNSt10moneypunctIwLb0EE2idE@@GLIBCXX_3.4
OBJECT:8:_ZNSt10moneypunctIwLb1EE2idE@@GLIBCXX_3.4
OBJECT:8:_ZNSt11__timepunctIcE2idE@@GLIBCXX_3.4
OBJECT:8:_ZNSt11__timepunctIwE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZNSt17__gnu_cxx_ieee1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:8:_ZNSt17__gnu_cxx_ieee1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:8:_ZNSt17__gnu_cxx_ieee1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_IEEE128_3.4.29
+OBJECT:8:_ZNSt17__gnu_cxx_ieee1287num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_IEEE128_3.4.29
OBJECT:8:_ZNSt17__gnu_cxx_ldbl1287num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
OBJECT:8:_ZNSt17__gnu_cxx_ldbl1287num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_LDBL_3.4
OBJECT:8:_ZNSt17__gnu_cxx_ldbl1287num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_LDBL_3.4
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 13f2e69..326a279 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -75836,7 +75836,7 @@ fi
if test $ac_have_posix_semaphore = yes ; then
-$as_echo "#define _GLIBCXX_HAVE_POSIX_SEMAPHORE 1" >>confdefs.h
+$as_echo "#define HAVE_POSIX_SEMAPHORE 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_have_posix_semaphore" >&5
diff --git a/libstdc++-v3/include/Makefile.am b/libstdc++-v3/include/Makefile.am
index f24a548..40a41ef 100644
--- a/libstdc++-v3/include/Makefile.am
+++ b/libstdc++-v3/include/Makefile.am
@@ -225,6 +225,7 @@ bits_headers = \
${bits_srcdir}/streambuf.tcc \
${bits_srcdir}/stringfwd.h \
${bits_srcdir}/string_view.tcc \
+ ${bits_srcdir}/this_thread_sleep.h \
${bits_srcdir}/uniform_int_dist.h \
${bits_srcdir}/unique_lock.h \
${bits_srcdir}/unique_ptr.h \
diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in
index 12c6340..fcd2b5b 100644
--- a/libstdc++-v3/include/Makefile.in
+++ b/libstdc++-v3/include/Makefile.in
@@ -575,6 +575,7 @@ bits_headers = \
${bits_srcdir}/streambuf.tcc \
${bits_srcdir}/stringfwd.h \
${bits_srcdir}/string_view.tcc \
+ ${bits_srcdir}/this_thread_sleep.h \
${bits_srcdir}/uniform_int_dist.h \
${bits_srcdir}/unique_lock.h \
${bits_srcdir}/unique_ptr.h \
diff --git a/libstdc++-v3/include/bits/atomic_base.h b/libstdc++-v3/include/bits/atomic_base.h
index b75f611..029b8ad 100644
--- a/libstdc++-v3/include/bits/atomic_base.h
+++ b/libstdc++-v3/include/bits/atomic_base.h
@@ -235,22 +235,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
wait(bool __old,
memory_order __m = memory_order_seq_cst) const noexcept
{
- std::__atomic_wait(&_M_i, static_cast<__atomic_flag_data_type>(__old),
- [__m, this, __old]()
- { return this->test(__m) != __old; });
+ const __atomic_flag_data_type __v
+ = __old ? __GCC_ATOMIC_TEST_AND_SET_TRUEVAL : 0;
+
+ std::__atomic_wait_address_v(&_M_i, __v,
+ [__m, this] { return __atomic_load_n(&_M_i, int(__m)); });
}
// TODO add const volatile overload
_GLIBCXX_ALWAYS_INLINE void
notify_one() const noexcept
- { std::__atomic_notify(&_M_i, false); }
+ { std::__atomic_notify_address(&_M_i, false); }
// TODO add const volatile overload
_GLIBCXX_ALWAYS_INLINE void
notify_all() const noexcept
- { std::__atomic_notify(&_M_i, true); }
+ { std::__atomic_notify_address(&_M_i, true); }
// TODO add const volatile overload
#endif // __cpp_lib_atomic_wait
@@ -609,22 +611,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
wait(__int_type __old,
memory_order __m = memory_order_seq_cst) const noexcept
{
- std::__atomic_wait(&_M_i, __old,
- [__m, this, __old]
- { return this->load(__m) != __old; });
+ std::__atomic_wait_address_v(&_M_i, __old,
+ [__m, this] { return this->load(__m); });
}
// TODO add const volatile overload
_GLIBCXX_ALWAYS_INLINE void
notify_one() const noexcept
- { std::__atomic_notify(&_M_i, false); }
+ { std::__atomic_notify_address(&_M_i, false); }
// TODO add const volatile overload
_GLIBCXX_ALWAYS_INLINE void
notify_all() const noexcept
- { std::__atomic_notify(&_M_i, true); }
+ { std::__atomic_notify_address(&_M_i, true); }
// TODO add const volatile overload
#endif // __cpp_lib_atomic_wait
@@ -903,22 +904,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
wait(__pointer_type __old,
memory_order __m = memory_order_seq_cst) noexcept
{
- std::__atomic_wait(&_M_p, __old,
- [__m, this, __old]()
- { return this->load(__m) != __old; });
+ std::__atomic_wait_address_v(&_M_p, __old,
+ [__m, this]
+ { return this->load(__m); });
}
// TODO add const volatile overload
_GLIBCXX_ALWAYS_INLINE void
notify_one() const noexcept
- { std::__atomic_notify(&_M_p, false); }
+ { std::__atomic_notify_address(&_M_p, false); }
// TODO add const volatile overload
_GLIBCXX_ALWAYS_INLINE void
notify_all() const noexcept
- { std::__atomic_notify(&_M_p, true); }
+ { std::__atomic_notify_address(&_M_p, true); }
// TODO add const volatile overload
#endif // __cpp_lib_atomic_wait
@@ -1017,8 +1018,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
wait(const _Tp* __ptr, _Val<_Tp> __old,
memory_order __m = memory_order_seq_cst) noexcept
{
- std::__atomic_wait(__ptr, __old,
- [=]() { return load(__ptr, __m) == __old; });
+ std::__atomic_wait_address_v(__ptr, __old,
+ [__ptr, __m]() { return __atomic_impl::load(__ptr, __m); });
}
// TODO add const volatile overload
@@ -1026,14 +1027,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
template<typename _Tp>
_GLIBCXX_ALWAYS_INLINE void
notify_one(const _Tp* __ptr) noexcept
- { std::__atomic_notify(__ptr, false); }
+ { std::__atomic_notify_address(__ptr, false); }
// TODO add const volatile overload
template<typename _Tp>
_GLIBCXX_ALWAYS_INLINE void
notify_all(const _Tp* __ptr) noexcept
- { std::__atomic_notify(__ptr, true); }
+ { std::__atomic_notify_address(__ptr, true); }
// TODO add const volatile overload
#endif // __cpp_lib_atomic_wait
diff --git a/libstdc++-v3/include/bits/atomic_timed_wait.h b/libstdc++-v3/include/bits/atomic_timed_wait.h
index a0c5ef4..70e5335 100644
--- a/libstdc++-v3/include/bits/atomic_timed_wait.h
+++ b/libstdc++-v3/include/bits/atomic_timed_wait.h
@@ -36,6 +36,7 @@
#if __cpp_lib_atomic_wait
#include <bits/functional_hash.h>
+#include <bits/this_thread_sleep.h>
#include <chrono>
@@ -48,19 +49,38 @@ namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
- enum class __atomic_wait_status { no_timeout, timeout };
-
namespace __detail
{
+ using __wait_clock_t = chrono::steady_clock;
+
+ template<typename _Clock, typename _Dur>
+ __wait_clock_t::time_point
+ __to_wait_clock(const chrono::time_point<_Clock, _Dur>& __atime) noexcept
+ {
+ const typename _Clock::time_point __c_entry = _Clock::now();
+ const __wait_clock_t::time_point __w_entry = __wait_clock_t::now();
+ const auto __delta = __atime - __c_entry;
+ using __w_dur = typename __wait_clock_t::duration;
+ return __w_entry + chrono::ceil<__w_dur>(__delta);
+ }
+
+ template<typename _Dur>
+ __wait_clock_t::time_point
+ __to_wait_clock(const chrono::time_point<__wait_clock_t,
+ _Dur>& __atime) noexcept
+ {
+ using __w_dur = typename __wait_clock_t::duration;
+ return chrono::ceil<__w_dur>(__atime);
+ }
+
#ifdef _GLIBCXX_HAVE_LINUX_FUTEX
- using __platform_wait_clock_t = chrono::steady_clock;
-
- template<typename _Duration>
- __atomic_wait_status
- __platform_wait_until_impl(__platform_wait_t* __addr,
- __platform_wait_t __val,
- const chrono::time_point<
- __platform_wait_clock_t, _Duration>&
+#define _GLIBCXX_HAVE_PLATFORM_TIMED_WAIT
+ // returns true if wait ended before timeout
+ template<typename _Dur>
+ bool
+ __platform_wait_until_impl(const __platform_wait_t* __addr,
+ __platform_wait_t __old,
+ const chrono::time_point<__wait_clock_t, _Dur>&
__atime) noexcept
{
auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
@@ -75,52 +95,55 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
auto __e = syscall (SYS_futex, __addr,
static_cast<int>(__futex_wait_flags::
__wait_bitset_private),
- __val, &__rt, nullptr,
+ __old, &__rt, nullptr,
static_cast<int>(__futex_wait_flags::
__bitset_match_any));
- if (__e && !(errno == EINTR || errno == EAGAIN || errno == ETIMEDOUT))
- std::terminate();
- return (__platform_wait_clock_t::now() < __atime)
- ? __atomic_wait_status::no_timeout
- : __atomic_wait_status::timeout;
+
+ if (__e)
+ {
+ if ((errno != ETIMEDOUT) && (errno != EINTR)
+ && (errno != EAGAIN))
+ __throw_system_error(errno);
+ return true;
+ }
+ return false;
}
- template<typename _Clock, typename _Duration>
- __atomic_wait_status
- __platform_wait_until(__platform_wait_t* __addr, __platform_wait_t __val,
- const chrono::time_point<_Clock, _Duration>&
- __atime)
+ // returns true if wait ended before timeout
+ template<typename _Clock, typename _Dur>
+ bool
+ __platform_wait_until(const __platform_wait_t* __addr, __platform_wait_t __old,
+ const chrono::time_point<_Clock, _Dur>& __atime)
{
- if constexpr (is_same_v<__platform_wait_clock_t, _Clock>)
+ if constexpr (is_same_v<__wait_clock_t, _Clock>)
{
- return __detail::__platform_wait_until_impl(__addr, __val, __atime);
+ return __platform_wait_until_impl(__addr, __old, __atime);
}
else
{
- const typename _Clock::time_point __c_entry = _Clock::now();
- const __platform_wait_clock_t::time_point __s_entry =
- __platform_wait_clock_t::now();
- const auto __delta = __atime - __c_entry;
- const auto __s_atime = __s_entry + __delta;
- if (__detail::__platform_wait_until_impl(__addr, __val, __s_atime)
- == __atomic_wait_status::no_timeout)
- return __atomic_wait_status::no_timeout;
-
- // We got a timeout when measured against __clock_t but
- // we need to check against the caller-supplied clock
- // to tell whether we should return a timeout.
- if (_Clock::now() < __atime)
- return __atomic_wait_status::no_timeout;
- return __atomic_wait_status::timeout;
+ if (!__platform_wait_until_impl(__addr, __old,
+ __to_wait_clock(__atime)))
+ {
+ // We got a timeout when measured against __clock_t but
+ // we need to check against the caller-supplied clock
+ // to tell whether we should return a timeout.
+ if (_Clock::now() < __atime)
+ return true;
+ }
+ return false;
}
}
-#else // ! FUTEX
-
-#ifdef _GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT
- template<typename _Duration>
- __atomic_wait_status
+#else
+// define _GLIBCXX_HAVE_PLATFORM_TIMED_WAIT and implement __platform_wait_until()
+// if there is a more efficient primitive supported by the platform
+// (e.g. __ulock_wait())which is better than pthread_cond_clockwait
+#endif // ! PLATFORM_TIMED_WAIT
+
+ // returns true if wait ended before timeout
+ template<typename _Dur>
+ bool
__cond_wait_until_impl(__condvar& __cv, mutex& __mx,
- const chrono::time_point<chrono::steady_clock, _Duration>& __atime)
+ const chrono::time_point<chrono::steady_clock, _Dur>& __atime)
{
auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
@@ -131,45 +154,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
static_cast<long>(__ns.count())
};
+#ifdef _GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT
__cv.wait_until(__mx, CLOCK_MONOTONIC, __ts);
-
- return (chrono::steady_clock::now() < __atime)
- ? __atomic_wait_status::no_timeout
- : __atomic_wait_status::timeout;
- }
-#endif
-
- template<typename _Duration>
- __atomic_wait_status
- __cond_wait_until_impl(__condvar& __cv, mutex& __mx,
- const chrono::time_point<chrono::system_clock, _Duration>& __atime)
- {
- auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
- auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
-
- __gthread_time_t __ts =
- {
- static_cast<std::time_t>(__s.time_since_epoch().count()),
- static_cast<long>(__ns.count())
- };
-
+ return chrono::steady_clock::now() < __atime;
+#else
__cv.wait_until(__mx, __ts);
-
- return (chrono::system_clock::now() < __atime)
- ? __atomic_wait_status::no_timeout
- : __atomic_wait_status::timeout;
+ return chrono::system_clock::now() < __atime;
+#endif // ! _GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT
}
- // return true if timeout
- template<typename _Clock, typename _Duration>
- __atomic_wait_status
+ // returns true if wait ended before timeout
+ template<typename _Clock, typename _Dur>
+ bool
__cond_wait_until(__condvar& __cv, mutex& __mx,
- const chrono::time_point<_Clock, _Duration>& __atime)
+ const chrono::time_point<_Clock, _Dur>& __atime)
{
-#ifndef _GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT
- using __clock_t = chrono::system_clock;
-#else
- using __clock_t = chrono::steady_clock;
+#ifdef _GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT
if constexpr (is_same_v<_Clock, chrono::steady_clock>)
return __detail::__cond_wait_until_impl(__cv, __mx, __atime);
else
@@ -178,118 +178,265 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return __detail::__cond_wait_until_impl(__cv, __mx, __atime);
else
{
- const typename _Clock::time_point __c_entry = _Clock::now();
- const __clock_t::time_point __s_entry = __clock_t::now();
- const auto __delta = __atime - __c_entry;
- const auto __s_atime = __s_entry + __delta;
- if (__detail::__cond_wait_until_impl(__cv, __mx, __s_atime)
- == __atomic_wait_status::no_timeout)
- return __atomic_wait_status::no_timeout;
- // We got a timeout when measured against __clock_t but
- // we need to check against the caller-supplied clock
- // to tell whether we should return a timeout.
- if (_Clock::now() < __atime)
- return __atomic_wait_status::no_timeout;
- return __atomic_wait_status::timeout;
+ if (__cond_wait_until_impl(__cv, __mx,
+ __to_wait_clock(__atime)))
+ {
+ // We got a timeout when measured against __clock_t but
+ // we need to check against the caller-supplied clock
+ // to tell whether we should return a timeout.
+ if (_Clock::now() < __atime)
+ return true;
+ }
+ return false;
}
}
-#endif // FUTEX
- struct __timed_waiters : __waiters
+ struct __timed_waiter_pool : __waiter_pool_base
{
- template<typename _Clock, typename _Duration>
- __atomic_wait_status
- _M_do_wait_until(__platform_wait_t __version,
- const chrono::time_point<_Clock, _Duration>& __atime)
+ // returns true if wait ended before timeout
+ template<typename _Clock, typename _Dur>
+ bool
+ _M_do_wait_until(__platform_wait_t* __addr, __platform_wait_t __old,
+ const chrono::time_point<_Clock, _Dur>& __atime)
{
-#ifdef _GLIBCXX_HAVE_LINUX_FUTEX
- return __detail::__platform_wait_until(&_M_ver, __version, __atime);
+#ifdef _GLIBCXX_HAVE_PLATFORM_TIMED_WAIT
+ return __platform_wait_until(__addr, __old, __atime);
#else
- __platform_wait_t __cur = 0;
- __waiters::__lock_t __l(_M_mtx);
- while (__cur <= __version)
+ __platform_wait_t __val;
+ __atomic_load(__addr, &__val, __ATOMIC_RELAXED);
+ if (__val == __old)
{
- if (__detail::__cond_wait_until(_M_cv, _M_mtx, __atime)
- == __atomic_wait_status::timeout)
- return __atomic_wait_status::timeout;
-
- __platform_wait_t __last = __cur;
- __atomic_load(&_M_ver, &__cur, __ATOMIC_ACQUIRE);
- if (__cur < __last)
- break; // break the loop if version overflows
+ lock_guard<mutex> __l(_M_mtx);
+ return __cond_wait_until(_M_cv, _M_mtx, __atime);
}
- return __atomic_wait_status::no_timeout;
-#endif
+#endif // _GLIBCXX_HAVE_PLATFORM_TIMED_WAIT
}
+ };
- static __timed_waiters&
- _S_timed_for(void* __t)
+ struct __timed_backoff_spin_policy
+ {
+ __wait_clock_t::time_point _M_deadline;
+ __wait_clock_t::time_point _M_t0;
+
+ template<typename _Clock, typename _Dur>
+ __timed_backoff_spin_policy(chrono::time_point<_Clock, _Dur>
+ __deadline = _Clock::time_point::max(),
+ chrono::time_point<_Clock, _Dur>
+ __t0 = _Clock::now()) noexcept
+ : _M_deadline(__to_wait_clock(__deadline))
+ , _M_t0(__to_wait_clock(__t0))
+ { }
+
+ bool
+ operator()() const noexcept
{
- static_assert(sizeof(__timed_waiters) == sizeof(__waiters));
- return static_cast<__timed_waiters&>(__waiters::_S_for(__t));
+ using namespace literals::chrono_literals;
+ auto __now = __wait_clock_t::now();
+ if (_M_deadline <= __now)
+ return false;
+
+ auto __elapsed = __now - _M_t0;
+ if (__elapsed > 128ms)
+ {
+ this_thread::sleep_for(64ms);
+ }
+ else if (__elapsed > 64us)
+ {
+ this_thread::sleep_for(__elapsed / 2);
+ }
+ else if (__elapsed > 4us)
+ {
+ __thread_yield();
+ }
+ else
+ return false;
+ return true;
}
};
+
+ template<typename _EntersWait>
+ struct __timed_waiter : __waiter_base<__timed_waiter_pool>
+ {
+ using __base_type = __waiter_base<__timed_waiter_pool>;
+
+ template<typename _Tp>
+ __timed_waiter(const _Tp* __addr) noexcept
+ : __base_type(__addr)
+ {
+ if constexpr (_EntersWait::value)
+ _M_w._M_enter_wait();
+ }
+
+ ~__timed_waiter()
+ {
+ if constexpr (_EntersWait::value)
+ _M_w._M_leave_wait();
+ }
+
+ // returns true if wait ended before timeout
+ template<typename _Tp, typename _ValFn,
+ typename _Clock, typename _Dur>
+ bool
+ _M_do_wait_until_v(_Tp __old, _ValFn __vfn,
+ const chrono::time_point<_Clock, _Dur>&
+ __atime) noexcept
+ {
+ __platform_wait_t __val;
+ if (_M_do_spin(__old, std::move(__vfn), __val,
+ __timed_backoff_spin_policy(__atime)))
+ return true;
+ return __base_type::_M_w._M_do_wait_until(__base_type::_M_addr, __val, __atime);
+ }
+
+ // returns true if wait ended before timeout
+ template<typename _Pred,
+ typename _Clock, typename _Dur>
+ bool
+ _M_do_wait_until(_Pred __pred, __platform_wait_t __val,
+ const chrono::time_point<_Clock, _Dur>&
+ __atime) noexcept
+ {
+ for (auto __now = _Clock::now(); __now < __atime;
+ __now = _Clock::now())
+ {
+ if (__base_type::_M_w._M_do_wait_until(
+ __base_type::_M_addr, __val, __atime)
+ && __pred())
+ return true;
+
+ if (__base_type::_M_do_spin(__pred, __val,
+ __timed_backoff_spin_policy(__atime, __now)))
+ return true;
+ }
+ return false;
+ }
+
+ // returns true if wait ended before timeout
+ template<typename _Pred,
+ typename _Clock, typename _Dur>
+ bool
+ _M_do_wait_until(_Pred __pred,
+ const chrono::time_point<_Clock, _Dur>&
+ __atime) noexcept
+ {
+ __platform_wait_t __val;
+ if (__base_type::_M_do_spin(__pred, __val,
+ __timed_backoff_spin_policy(__atime)))
+ return true;
+ return _M_do_wait_until(__pred, __val, __atime);
+ }
+
+ template<typename _Tp, typename _ValFn,
+ typename _Rep, typename _Period>
+ bool
+ _M_do_wait_for_v(_Tp __old, _ValFn __vfn,
+ const chrono::duration<_Rep, _Period>&
+ __rtime) noexcept
+ {
+ __platform_wait_t __val;
+ if (_M_do_spin_v(__old, std::move(__vfn), __val))
+ return true;
+
+ if (!__rtime.count())
+ return false; // no rtime supplied, and spin did not acquire
+
+ auto __reltime = chrono::ceil<__wait_clock_t::duration>(__rtime);
+
+ return __base_type::_M_w._M_do_wait_until(
+ __base_type::_M_addr,
+ __val,
+ chrono::steady_clock::now() + __reltime);
+ }
+
+ template<typename _Pred,
+ typename _Rep, typename _Period>
+ bool
+ _M_do_wait_for(_Pred __pred,
+ const chrono::duration<_Rep, _Period>& __rtime) noexcept
+ {
+ __platform_wait_t __val;
+ if (__base_type::_M_do_spin(__pred, __val))
+ return true;
+
+ if (!__rtime.count())
+ return false; // no rtime supplied, and spin did not acquire
+
+ auto __reltime = chrono::ceil<__wait_clock_t::duration>(__rtime);
+
+ return _M_do_wait_until(__pred, __val,
+ chrono::steady_clock::now() + __reltime);
+ }
+ };
+
+ using __enters_timed_wait = __timed_waiter<std::true_type>;
+ using __bare_timed_wait = __timed_waiter<std::false_type>;
} // namespace __detail
- template<typename _Tp, typename _Pred,
- typename _Clock, typename _Duration>
+ // returns true if wait ended before timeout
+ template<typename _Tp, typename _ValFn,
+ typename _Clock, typename _Dur>
bool
- __atomic_wait_until(const _Tp* __addr, _Tp __old, _Pred __pred,
- const chrono::time_point<_Clock, _Duration>&
+ __atomic_wait_address_until_v(const _Tp* __addr, _Tp&& __old, _ValFn&& __vfn,
+ const chrono::time_point<_Clock, _Dur>&
__atime) noexcept
{
- using namespace __detail;
+ __detail::__enters_timed_wait __w{__addr};
+ return __w._M_do_wait_until_v(__old, __vfn, __atime);
+ }
- if (std::__atomic_spin(__pred))
- return true;
+ template<typename _Tp, typename _Pred,
+ typename _Clock, typename _Dur>
+ bool
+ __atomic_wait_address_until(const _Tp* __addr, _Pred __pred,
+ const chrono::time_point<_Clock, _Dur>&
+ __atime) noexcept
+ {
+ __detail::__enters_timed_wait __w{__addr};
+ return __w._M_do_wait_until(__pred, __atime);
+ }
- auto& __w = __timed_waiters::_S_timed_for((void*)__addr);
- auto __version = __w._M_enter_wait();
- do
- {
- __atomic_wait_status __res;
-#ifdef _GLIBCXX_HAVE_LINUX_FUTEX
- if constexpr (__platform_wait_uses_type<_Tp>)
- {
- __res = __detail::__platform_wait_until((__platform_wait_t*)(void*) __addr,
- __old, __atime);
- }
- else
-#endif
- {
- __res = __w._M_do_wait_until(__version, __atime);
- }
- if (__res == __atomic_wait_status::timeout)
- return false;
- }
- while (!__pred() && __atime < _Clock::now());
- __w._M_leave_wait();
+ template<typename _Pred,
+ typename _Clock, typename _Dur>
+ bool
+ __atomic_wait_address_until_bare(const __detail::__platform_wait_t* __addr,
+ _Pred __pred,
+ const chrono::time_point<_Clock, _Dur>&
+ __atime) noexcept
+ {
+ __detail::__bare_timed_wait __w{__addr};
+ return __w._M_do_wait_until(__pred, __atime);
+ }
- // if timed out, return false
- return (_Clock::now() < __atime);
+ template<typename _Tp, typename _ValFn,
+ typename _Rep, typename _Period>
+ bool
+ __atomic_wait_address_for_v(const _Tp* __addr, _Tp&& __old, _ValFn&& __vfn,
+ const chrono::duration<_Rep, _Period>& __rtime) noexcept
+ {
+ __detail::__enters_timed_wait __w{__addr};
+ return __w._M_do_wait_for_v(__old, __vfn, __rtime);
}
template<typename _Tp, typename _Pred,
typename _Rep, typename _Period>
bool
- __atomic_wait_for(const _Tp* __addr, _Tp __old, _Pred __pred,
+ __atomic_wait_address_for(const _Tp* __addr, _Pred __pred,
const chrono::duration<_Rep, _Period>& __rtime) noexcept
{
- using namespace __detail;
- if (std::__atomic_spin(__pred))
- return true;
-
- if (!__rtime.count())
- return false; // no rtime supplied, and spin did not acquire
-
- using __dur = chrono::steady_clock::duration;
- auto __reltime = chrono::duration_cast<__dur>(__rtime);
- if (__reltime < __rtime)
- ++__reltime;
+ __detail::__enters_timed_wait __w{__addr};
+ return __w._M_do_wait_for(__pred, __rtime);
+ }
- return __atomic_wait_until(__addr, __old, std::move(__pred),
- chrono::steady_clock::now() + __reltime);
+ template<typename _Pred,
+ typename _Rep, typename _Period>
+ bool
+ __atomic_wait_address_for_bare(const __detail::__platform_wait_t* __addr,
+ _Pred __pred,
+ const chrono::duration<_Rep, _Period>& __rtime) noexcept
+ {
+ __detail::__bare_timed_wait __w{__addr};
+ return __w._M_do_wait_for(__pred, __rtime);
}
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace std
diff --git a/libstdc++-v3/include/bits/atomic_wait.h b/libstdc++-v3/include/bits/atomic_wait.h
index 424fccb..0ac5575 100644
--- a/libstdc++-v3/include/bits/atomic_wait.h
+++ b/libstdc++-v3/include/bits/atomic_wait.h
@@ -44,12 +44,10 @@
# include <unistd.h>
# include <syscall.h>
# include <bits/functexcept.h>
-// TODO get this from Autoconf
-# define _GLIBCXX_HAVE_LINUX_FUTEX_PRIVATE 1
-#else
-# include <bits/std_mutex.h> // std::mutex, std::__condvar
#endif
+# include <bits/std_mutex.h> // std::mutex, std::__condvar
+
#define __cpp_lib_atomic_wait 201907L
namespace std _GLIBCXX_VISIBILITY(default)
@@ -57,20 +55,30 @@ namespace std _GLIBCXX_VISIBILITY(default)
_GLIBCXX_BEGIN_NAMESPACE_VERSION
namespace __detail
{
+#ifdef _GLIBCXX_HAVE_LINUX_FUTEX
using __platform_wait_t = int;
+ static constexpr size_t __platform_wait_alignment = 4;
+#else
+ using __platform_wait_t = uint64_t;
+ static constexpr size_t __platform_wait_alignment
+ = __alignof__(__platform_wait_t);
+#endif
+ } // namespace __detail
- constexpr auto __atomic_spin_count_1 = 16;
- constexpr auto __atomic_spin_count_2 = 12;
-
- template<typename _Tp>
- inline constexpr bool __platform_wait_uses_type
-#ifdef _GLIBCXX_HAVE_LINUX_FUTEX
- = is_same_v<remove_cv_t<_Tp>, __platform_wait_t>;
+ template<typename _Tp>
+ inline constexpr bool __platform_wait_uses_type
+#ifdef _GLIBCXX_HAVE_PLATFORM_WAIT
+ = is_scalar_v<_Tp>
+ && ((sizeof(_Tp) == sizeof(__detail::__platform_wait_t))
+ && (alignof(_Tp*) >= __platform_wait_alignment));
#else
- = false;
+ = false;
#endif
+ namespace __detail
+ {
#ifdef _GLIBCXX_HAVE_LINUX_FUTEX
+#define _GLIBCXX_HAVE_PLATFORM_WAIT 1
enum class __futex_wait_flags : int
{
#ifdef _GLIBCXX_HAVE_LINUX_FUTEX_PRIVATE
@@ -93,16 +101,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
void
__platform_wait(const _Tp* __addr, __platform_wait_t __val) noexcept
{
- for(;;)
- {
- auto __e = syscall (SYS_futex, static_cast<const void*>(__addr),
- static_cast<int>(__futex_wait_flags::__wait_private),
- __val, nullptr);
- if (!__e || errno == EAGAIN)
- break;
- else if (errno != EINTR)
- __throw_system_error(__e);
- }
+ auto __e = syscall (SYS_futex, static_cast<const void*>(__addr),
+ static_cast<int>(__futex_wait_flags::__wait_private),
+ __val, nullptr);
+ if (!__e || errno == EAGAIN)
+ return;
+ if (errno != EINTR)
+ __throw_system_error(errno);
}
template<typename _Tp>
@@ -110,72 +115,124 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
__platform_notify(const _Tp* __addr, bool __all) noexcept
{
syscall (SYS_futex, static_cast<const void*>(__addr),
- static_cast<int>(__futex_wait_flags::__wake_private),
- __all ? INT_MAX : 1);
+ static_cast<int>(__futex_wait_flags::__wake_private),
+ __all ? INT_MAX : 1);
}
+#else
+// define _GLIBCX_HAVE_PLATFORM_WAIT and implement __platform_wait()
+// and __platform_notify() if there is a more efficient primitive supported
+// by the platform (e.g. __ulock_wait()/__ulock_wake()) which is better than
+// a mutex/condvar based wait
#endif
- struct __waiters
+ inline void
+ __thread_yield() noexcept
{
- alignas(64) __platform_wait_t _M_ver = 0;
- alignas(64) __platform_wait_t _M_wait = 0;
-
-#ifndef _GLIBCXX_HAVE_LINUX_FUTEX
- using __lock_t = lock_guard<mutex>;
- mutex _M_mtx;
- __condvar _M_cv;
+#if defined _GLIBCXX_HAS_GTHREADS && defined _GLIBCXX_USE_SCHED_YIELD
+ __gthread_yield();
+#endif
+ }
- __waiters() noexcept = default;
+ inline void
+ __thread_relax() noexcept
+ {
+#if defined __i386__ || defined __x86_64__
+ __builtin_ia32_pause();
+#else
+ __thread_yield();
#endif
+ }
- __platform_wait_t
- _M_enter_wait() noexcept
+ constexpr auto __atomic_spin_count_1 = 12;
+ constexpr auto __atomic_spin_count_2 = 4;
+
+ struct __default_spin_policy
+ {
+ bool
+ operator()() const noexcept
+ { return false; }
+ };
+
+ template<typename _Pred,
+ typename _Spin = __default_spin_policy>
+ bool
+ __atomic_spin(_Pred& __pred, _Spin __spin = _Spin{ }) noexcept
{
- __platform_wait_t __res;
- __atomic_load(&_M_ver, &__res, __ATOMIC_ACQUIRE);
- __atomic_fetch_add(&_M_wait, 1, __ATOMIC_ACQ_REL);
- return __res;
+ for (auto __i = 0; __i < __atomic_spin_count_1; ++__i)
+ {
+ if (__pred())
+ return true;
+ __detail::__thread_relax();
+ }
+
+ for (auto __i = 0; __i < __atomic_spin_count_2; ++__i)
+ {
+ if (__pred())
+ return true;
+ __detail::__thread_yield();
+ }
+
+ while (__spin())
+ {
+ if (__pred())
+ return true;
+ }
+
+ return false;
}
- void
- _M_leave_wait() noexcept
+ template<typename _Tp>
+ bool __atomic_compare(const _Tp& __a, const _Tp& __b)
{
- __atomic_fetch_sub(&_M_wait, 1, __ATOMIC_ACQ_REL);
+ // TODO make this do the correct padding bit ignoring comparison
+ return __builtin_memcmp(&__a, &__b, sizeof(_Tp)) != 0;
}
- void
- _M_do_wait(__platform_wait_t __version) noexcept
- {
-#ifdef _GLIBCXX_HAVE_LINUX_FUTEX
- __platform_wait(&_M_ver, __version);
+ struct __waiter_pool_base
+ {
+#ifdef __cpp_lib_hardware_interference_size
+ static constexpr auto _S_align = hardware_destructive_interference_size;
#else
- __platform_wait_t __cur = 0;
- while (__cur <= __version)
- {
- __waiters::__lock_t __l(_M_mtx);
- _M_cv.wait(_M_mtx);
- __platform_wait_t __last = __cur;
- __atomic_load(&_M_ver, &__cur, __ATOMIC_ACQUIRE);
- if (__cur < __last)
- break; // break the loop if version overflows
- }
+ static constexpr auto _S_align = 64;
#endif
- }
+
+ alignas(_S_align) __platform_wait_t _M_wait = 0;
+
+#ifndef _GLIBCXX_HAVE_PLATFORM_WAIT
+ mutex _M_mtx;
+#endif
+
+ alignas(_S_align) __platform_wait_t _M_ver = 0;
+
+#ifndef _GLIBCXX_HAVE_PLATFORM_WAIT
+ __condvar _M_cv;
+#endif
+ __waiter_pool_base() = default;
+
+ void
+ _M_enter_wait() noexcept
+ { __atomic_fetch_add(&_M_wait, 1, __ATOMIC_ACQ_REL); }
+
+ void
+ _M_leave_wait() noexcept
+ { __atomic_fetch_sub(&_M_wait, 1, __ATOMIC_ACQ_REL); }
bool
_M_waiting() const noexcept
{
__platform_wait_t __res;
__atomic_load(&_M_wait, &__res, __ATOMIC_ACQUIRE);
- return __res;
+ return __res > 0;
}
void
- _M_notify(bool __all) noexcept
+ _M_notify(const __platform_wait_t* __addr, bool __all) noexcept
{
- __atomic_fetch_add(&_M_ver, 1, __ATOMIC_ACQ_REL);
-#ifdef _GLIBCXX_HAVE_LINUX_FUTEX
- __platform_notify(&_M_ver, __all);
+ if (!_M_waiting())
+ return;
+
+#ifdef _GLIBCXX_HAVE_PLATFORM_WAIT
+ __platform_notify(__addr, __all);
#else
if (__all)
_M_cv.notify_all();
@@ -184,114 +241,232 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#endif
}
- static __waiters&
- _S_for(const void* __t)
+ static __waiter_pool_base&
+ _S_for(const void* __addr) noexcept
{
- const unsigned char __mask = 0xf;
- static __waiters __w[__mask + 1];
-
- auto __key = _Hash_impl::hash(__t) & __mask;
+ constexpr uintptr_t __ct = 16;
+ static __waiter_pool_base __w[__ct];
+ auto __key = (uintptr_t(__addr) >> 2) % __ct;
return __w[__key];
}
};
- struct __waiter
+ struct __waiter_pool : __waiter_pool_base
{
- __waiters& _M_w;
- __platform_wait_t _M_version;
+ void
+ _M_do_wait(const __platform_wait_t* __addr, __platform_wait_t __old) noexcept
+ {
+#ifdef _GLIBCXX_HAVE_PLATFORM_WAIT
+ __platform_wait(__addr, __old);
+#else
+ __platform_wait_t __val;
+ __atomic_load(__addr, &__val, __ATOMIC_RELAXED);
+ if (__val == __old)
+ {
+ lock_guard<mutex> __l(_M_mtx);
+ _M_cv.wait(_M_mtx);
+ }
+#endif // __GLIBCXX_HAVE_PLATFORM_WAIT
+ }
+ };
- template<typename _Tp>
- __waiter(const _Tp* __addr) noexcept
- : _M_w(__waiters::_S_for(static_cast<const void*>(__addr)))
- , _M_version(_M_w._M_enter_wait())
- { }
+ template<typename _Tp>
+ struct __waiter_base
+ {
+ using __waiter_type = _Tp;
- ~__waiter()
- { _M_w._M_leave_wait(); }
+ __waiter_type& _M_w;
+ __platform_wait_t* _M_addr;
- void _M_do_wait() noexcept
- { _M_w._M_do_wait(_M_version); }
- };
+ template<typename _Up>
+ static __platform_wait_t*
+ _S_wait_addr(const _Up* __a, __platform_wait_t* __b)
+ {
+ if constexpr (__platform_wait_uses_type<_Up>)
+ return reinterpret_cast<__platform_wait_t*>(const_cast<_Up*>(__a));
+ else
+ return __b;
+ }
- inline void
- __thread_yield() noexcept
- {
-#if defined _GLIBCXX_HAS_GTHREADS && defined _GLIBCXX_USE_SCHED_YIELD
- __gthread_yield();
-#endif
- }
+ static __waiter_type&
+ _S_for(const void* __addr) noexcept
+ {
+ static_assert(sizeof(__waiter_type) == sizeof(__waiter_pool_base));
+ auto& res = __waiter_pool_base::_S_for(__addr);
+ return reinterpret_cast<__waiter_type&>(res);
+ }
- inline void
- __thread_relax() noexcept
- {
-#if defined __i386__ || defined __x86_64__
- __builtin_ia32_pause();
-#else
- __thread_yield();
-#endif
- }
- } // namespace __detail
+ template<typename _Up>
+ explicit __waiter_base(const _Up* __addr) noexcept
+ : _M_w(_S_for(__addr))
+ , _M_addr(_S_wait_addr(__addr, &_M_w._M_ver))
+ {
+ }
- template<typename _Pred>
- bool
- __atomic_spin(_Pred& __pred) noexcept
- {
- for (auto __i = 0; __i < __detail::__atomic_spin_count_1; ++__i)
+ void
+ _M_notify(bool __all)
{
- if (__pred())
- return true;
+ if (_M_addr == &_M_w._M_ver)
+ __atomic_fetch_add(_M_addr, 1, __ATOMIC_ACQ_REL);
+ _M_w._M_notify(_M_addr, __all);
+ }
- if (__i < __detail::__atomic_spin_count_2)
- __detail::__thread_relax();
- else
- __detail::__thread_yield();
+ template<typename _Up, typename _ValFn,
+ typename _Spin = __default_spin_policy>
+ static bool
+ _S_do_spin_v(__platform_wait_t* __addr,
+ const _Up& __old, _ValFn __vfn,
+ __platform_wait_t& __val,
+ _Spin __spin = _Spin{ })
+ {
+ auto const __pred = [=]
+ { return __detail::__atomic_compare(__old, __vfn()); };
+
+ if constexpr (__platform_wait_uses_type<_Up>)
+ {
+ __val == __old;
+ }
+ else
+ {
+ __atomic_load(__addr, &__val, __ATOMIC_RELAXED);
+ }
+ return __atomic_spin(__pred, __spin);
+ }
+
+ template<typename _Up, typename _ValFn,
+ typename _Spin = __default_spin_policy>
+ bool
+ _M_do_spin_v(const _Up& __old, _ValFn __vfn,
+ __platform_wait_t& __val,
+ _Spin __spin = _Spin{ })
+ { return _S_do_spin_v(_M_addr, __old, __vfn, __val, __spin); }
+
+ template<typename _Pred,
+ typename _Spin = __default_spin_policy>
+ static bool
+ _S_do_spin(const __platform_wait_t* __addr,
+ _Pred __pred,
+ __platform_wait_t& __val,
+ _Spin __spin = _Spin{ })
+ {
+ __atomic_load(__addr, &__val, __ATOMIC_RELAXED);
+ return __atomic_spin(__pred, __spin);
+ }
+
+ template<typename _Pred,
+ typename _Spin = __default_spin_policy>
+ bool
+ _M_do_spin(_Pred __pred, __platform_wait_t& __val,
+ _Spin __spin = _Spin{ })
+ { return _S_do_spin(_M_addr, __pred, __val, __spin); }
+ };
+
+ template<typename _EntersWait>
+ struct __waiter : __waiter_base<__waiter_pool>
+ {
+ using __base_type = __waiter_base<__waiter_pool>;
+
+ template<typename _Tp>
+ explicit __waiter(const _Tp* __addr) noexcept
+ : __base_type(__addr)
+ {
+ if constexpr (_EntersWait::value)
+ _M_w._M_enter_wait();
+ }
+
+ ~__waiter()
+ {
+ if constexpr (_EntersWait::value)
+ _M_w._M_leave_wait();
}
- return false;
+
+ template<typename _Tp, typename _ValFn>
+ void
+ _M_do_wait_v(_Tp __old, _ValFn __vfn)
+ {
+ __platform_wait_t __val;
+ if (__base_type::_M_do_spin_v(__old, __vfn, __val))
+ return;
+ __base_type::_M_w._M_do_wait(__base_type::_M_addr, __val);
+ }
+
+ template<typename _Pred>
+ void
+ _M_do_wait(_Pred __pred) noexcept
+ {
+ do
+ {
+ __platform_wait_t __val;
+ if (__base_type::_M_do_spin(__pred, __val))
+ return;
+ __base_type::_M_w._M_do_wait(__base_type::_M_addr, __val);
+ }
+ while (!__pred());
+ }
+ };
+
+ using __enters_wait = __waiter<std::true_type>;
+ using __bare_wait = __waiter<std::false_type>;
+ } // namespace __detail
+
+ template<typename _Tp, typename _ValFn>
+ void
+ __atomic_wait_address_v(const _Tp* __addr, _Tp __old,
+ _ValFn __vfn) noexcept
+ {
+ __detail::__enters_wait __w(__addr);
+ __w._M_do_wait_v(__old, __vfn);
}
template<typename _Tp, typename _Pred>
void
- __atomic_wait(const _Tp* __addr, _Tp __old, _Pred __pred) noexcept
+ __atomic_wait_address(const _Tp* __addr, _Pred __pred) noexcept
{
- using namespace __detail;
- if (std::__atomic_spin(__pred))
- return;
+ __detail::__enters_wait __w(__addr);
+ __w._M_do_wait(__pred);
+ }
- __waiter __w(__addr);
- while (!__pred())
+ // This call is to be used by atomic types which track contention externally
+ template<typename _Pred>
+ void
+ __atomic_wait_address_bare(const __detail::__platform_wait_t* __addr,
+ _Pred __pred) noexcept
+ {
+#ifdef _GLIBCXX_HAVE_PLATFORM_WAIT
+ do
{
- if constexpr (__platform_wait_uses_type<_Tp>)
- {
- __platform_wait(__addr, __old);
- }
- else
- {
- // TODO support timed backoff when this can be moved into the lib
- __w._M_do_wait();
- }
+ __detail::__platform_wait_t __val;
+ if (__detail::__bare_wait::_S_do_spin(__addr, __pred, __val))
+ return;
+ __detail::__platform_wait(__addr, __val);
}
+ while (!__pred());
+#else // !_GLIBCXX_HAVE_PLATFORM_WAIT
+ __detail::__bare_wait __w(__addr);
+ __w._M_do_wait(__pred);
+#endif
}
template<typename _Tp>
void
- __atomic_notify(const _Tp* __addr, bool __all) noexcept
+ __atomic_notify_address(const _Tp* __addr, bool __all) noexcept
{
- using namespace __detail;
- auto& __w = __waiters::_S_for((void*)__addr);
- if (!__w._M_waiting())
- return;
+ __detail::__bare_wait __w(__addr);
+ __w._M_notify(__all);
+ }
-#ifdef _GLIBCXX_HAVE_LINUX_FUTEX
- if constexpr (__platform_wait_uses_type<_Tp>)
- {
- __platform_notify((__platform_wait_t*)(void*) __addr, __all);
- }
- else
+ // This call is to be used by atomic types which track contention externally
+ inline void
+ __atomic_notify_address_bare(const __detail::__platform_wait_t* __addr,
+ bool __all) noexcept
+ {
+#ifdef _GLIBCXX_HAVE_PLATFORM_WAIT
+ __detail::__platform_notify(__addr, __all);
+#else
+ __detail::__bare_wait __w(__addr);
+ __w._M_notify(__all);
#endif
- {
- __w._M_notify(__all);
- }
- }
+ }
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace std
#endif // GTHREADS || LINUX_FUTEX
diff --git a/libstdc++-v3/include/bits/semaphore_base.h b/libstdc++-v3/include/bits/semaphore_base.h
index b65717e..84b3342 100644
--- a/libstdc++-v3/include/bits/semaphore_base.h
+++ b/libstdc++-v3/include/bits/semaphore_base.h
@@ -35,8 +35,8 @@
#include <bits/atomic_base.h>
#if __cpp_lib_atomic_wait
#include <bits/atomic_timed_wait.h>
-
#include <ext/numeric_traits.h>
+#endif // __cpp_lib_atomic_wait
#ifdef _GLIBCXX_HAVE_POSIX_SEMAPHORE
# include <limits.h>
@@ -86,6 +86,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
}
+ _GLIBCXX_ALWAYS_INLINE bool
+ _M_try_acquire() noexcept
+ {
+ for (;;)
+ {
+ auto __err = sem_trywait(&_M_semaphore);
+ if (__err && (errno == EINTR))
+ continue;
+ else if (__err && (errno == EAGAIN))
+ return false;
+ else if (__err)
+ std::terminate();
+ else
+ break;
+ }
+ return true;
+ }
+
_GLIBCXX_ALWAYS_INLINE void
_M_release(std::ptrdiff_t __update) noexcept
{
@@ -164,138 +182,97 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
};
#endif // _GLIBCXX_HAVE_POSIX_SEMAPHORE
- template<typename _Tp>
- struct __atomic_semaphore
+#if __cpp_lib_atomic_wait
+ struct __atomic_semaphore
+ {
+ static constexpr ptrdiff_t _S_max = __gnu_cxx::__int_traits<int>::__max;
+ explicit __atomic_semaphore(__detail::__platform_wait_t __count) noexcept
+ : _M_counter(__count)
{
- static_assert(std::is_integral_v<_Tp>);
- static_assert(__gnu_cxx::__int_traits<_Tp>::__max
- <= __gnu_cxx::__int_traits<ptrdiff_t>::__max);
- static constexpr ptrdiff_t _S_max = __gnu_cxx::__int_traits<_Tp>::__max;
+ __glibcxx_assert(__count >= 0 && __count <= _S_max);
+ }
- explicit __atomic_semaphore(_Tp __count) noexcept
- : _M_counter(__count)
- {
- __glibcxx_assert(__count >= 0 && __count <= _S_max);
- }
+ __atomic_semaphore(const __atomic_semaphore&) = delete;
+ __atomic_semaphore& operator=(const __atomic_semaphore&) = delete;
- __atomic_semaphore(const __atomic_semaphore&) = delete;
- __atomic_semaphore& operator=(const __atomic_semaphore&) = delete;
+ static _GLIBCXX_ALWAYS_INLINE bool
+ _S_do_try_acquire(__detail::__platform_wait_t* __counter) noexcept
+ {
+ auto __old = __atomic_impl::load(__counter, memory_order::acquire);
+ if (__old == 0)
+ return false;
+
+ return __atomic_impl::compare_exchange_strong(__counter,
+ __old, __old - 1,
+ memory_order::acquire,
+ memory_order::relaxed);
+ }
- _GLIBCXX_ALWAYS_INLINE void
- _M_acquire() noexcept
- {
- auto const __pred = [this]
- {
- auto __old = __atomic_impl::load(&this->_M_counter,
- memory_order::acquire);
- if (__old == 0)
- return false;
- return __atomic_impl::compare_exchange_strong(&this->_M_counter,
- __old, __old - 1,
- memory_order::acquire,
- memory_order::release);
- };
- auto __old = __atomic_impl::load(&_M_counter, memory_order_relaxed);
- std::__atomic_wait(&_M_counter, __old, __pred);
- }
+ _GLIBCXX_ALWAYS_INLINE void
+ _M_acquire() noexcept
+ {
+ auto const __pred =
+ [this] { return _S_do_try_acquire(&this->_M_counter); };
+ std::__atomic_wait_address_bare(&_M_counter, __pred);
+ }
- bool
- _M_try_acquire() noexcept
- {
- auto __old = __atomic_impl::load(&_M_counter, memory_order::acquire);
- auto const __pred = [this, __old]
- {
- if (__old == 0)
- return false;
-
- auto __prev = __old;
- return __atomic_impl::compare_exchange_weak(&this->_M_counter,
- __prev, __prev - 1,
- memory_order::acquire,
- memory_order::release);
- };
- return std::__atomic_spin(__pred);
- }
+ bool
+ _M_try_acquire() noexcept
+ {
+ auto const __pred =
+ [this] { return _S_do_try_acquire(&this->_M_counter); };
+ return std::__detail::__atomic_spin(__pred);
+ }
- template<typename _Clock, typename _Duration>
- _GLIBCXX_ALWAYS_INLINE bool
- _M_try_acquire_until(const chrono::time_point<_Clock,
- _Duration>& __atime) noexcept
- {
- auto const __pred = [this]
- {
- auto __old = __atomic_impl::load(&this->_M_counter,
- memory_order::acquire);
- if (__old == 0)
- return false;
- return __atomic_impl::compare_exchange_strong(&this->_M_counter,
- __old, __old - 1,
- memory_order::acquire,
- memory_order::release);
- };
-
- auto __old = __atomic_impl::load(&_M_counter, memory_order_relaxed);
- return __atomic_wait_until(&_M_counter, __old, __pred, __atime);
- }
+ template<typename _Clock, typename _Duration>
+ _GLIBCXX_ALWAYS_INLINE bool
+ _M_try_acquire_until(const chrono::time_point<_Clock,
+ _Duration>& __atime) noexcept
+ {
+ auto const __pred =
+ [this] { return _S_do_try_acquire(&this->_M_counter); };
- template<typename _Rep, typename _Period>
- _GLIBCXX_ALWAYS_INLINE bool
- _M_try_acquire_for(const chrono::duration<_Rep, _Period>& __rtime)
- noexcept
- {
- auto const __pred = [this]
- {
- auto __old = __atomic_impl::load(&this->_M_counter,
- memory_order::acquire);
- if (__old == 0)
- return false;
- return __atomic_impl::compare_exchange_strong(&this->_M_counter,
- __old, __old - 1,
- memory_order::acquire,
- memory_order::release);
- };
-
- auto __old = __atomic_impl::load(&_M_counter, memory_order_relaxed);
- return __atomic_wait_for(&_M_counter, __old, __pred, __rtime);
- }
+ return __atomic_wait_address_until_bare(&_M_counter, __pred, __atime);
+ }
- _GLIBCXX_ALWAYS_INLINE void
- _M_release(ptrdiff_t __update) noexcept
+ template<typename _Rep, typename _Period>
+ _GLIBCXX_ALWAYS_INLINE bool
+ _M_try_acquire_for(const chrono::duration<_Rep, _Period>& __rtime)
+ noexcept
{
- if (0 < __atomic_impl::fetch_add(&_M_counter, __update, memory_order_release))
- return;
- if (__update > 1)
- __atomic_impl::notify_all(&_M_counter);
- else
- __atomic_impl::notify_one(&_M_counter);
+ auto const __pred =
+ [this] { return _S_do_try_acquire(&this->_M_counter); };
+
+ return __atomic_wait_address_for_bare(&_M_counter, __pred, __rtime);
}
- private:
- alignas(__alignof__(_Tp)) _Tp _M_counter;
- };
+ _GLIBCXX_ALWAYS_INLINE void
+ _M_release(ptrdiff_t __update) noexcept
+ {
+ if (0 < __atomic_impl::fetch_add(&_M_counter, __update, memory_order_release))
+ return;
+ if (__update > 1)
+ __atomic_notify_address_bare(&_M_counter, true);
+ else
+ __atomic_notify_address_bare(&_M_counter, false);
+ }
+
+ private:
+ alignas(__detail::__platform_wait_alignment)
+ __detail::__platform_wait_t _M_counter;
+ };
+#endif // __cpp_lib_atomic_wait
// Note: the _GLIBCXX_REQUIRE_POSIX_SEMAPHORE macro can be used to force the
// use of Posix semaphores (sem_t). Doing so however, alters the ABI.
-#if defined _GLIBCXX_HAVE_LINUX_FUTEX && !_GLIBCXX_REQUIRE_POSIX_SEMAPHORE
- // Use futex if available and didn't force use of POSIX
- using __fast_semaphore = __atomic_semaphore<__detail::__platform_wait_t>;
+#if defined __cpp_lib_atomic_wait && !_GLIBCXX_REQUIRE_POSIX_SEMAPHORE
+ using __semaphore_impl = __atomic_semaphore;
#elif _GLIBCXX_HAVE_POSIX_SEMAPHORE
- using __fast_semaphore = __platform_semaphore;
+ using __semaphore_impl = __platform_semaphore;
#else
- using __fast_semaphore = __atomic_semaphore<ptrdiff_t>;
+# error "No suitable semaphore implementation available"
#endif
-template<ptrdiff_t __least_max_value>
- using __semaphore_impl = conditional_t<
- (__least_max_value > 1),
- conditional_t<
- (__least_max_value <= __fast_semaphore::_S_max),
- __fast_semaphore,
- __atomic_semaphore<ptrdiff_t>>,
- __fast_semaphore>;
-
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace std
-
-#endif // __cpp_lib_atomic_wait
#endif // _GLIBCXX_SEMAPHORE_BASE_H
diff --git a/libstdc++-v3/include/bits/stl_iterator.h b/libstdc++-v3/include/bits/stl_iterator.h
index dc8b101..049f83c 100644
--- a/libstdc++-v3/include/bits/stl_iterator.h
+++ b/libstdc++-v3/include/bits/stl_iterator.h
@@ -1302,6 +1302,24 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
};
#endif // C++20
+ namespace __detail
+ {
+#if __cplusplus > 201703L && __cpp_lib_concepts
+ template<typename _Iterator>
+ struct __move_iter_cat
+ { };
+
+ template<typename _Iterator>
+ requires requires { typename iterator_traits<_Iterator>::iterator_category; }
+ struct __move_iter_cat<_Iterator>
+ {
+ using iterator_category
+ = __clamp_iter_cat<typename iterator_traits<_Iterator>::iterator_category,
+ random_access_iterator_tag>;
+ };
+#endif
+ }
+
// 24.4.3 Move iterators
/**
* Class template move_iterator is an iterator adapter with the same
@@ -1313,13 +1331,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
*/
template<typename _Iterator>
class move_iterator
+#if __cplusplus > 201703L && __cpp_lib_concepts
+ : public __detail::__move_iter_cat<_Iterator>
+#endif
{
_Iterator _M_current;
using __traits_type = iterator_traits<_Iterator>;
-#if __cplusplus > 201703L && __cpp_lib_concepts
- using __base_cat = typename __traits_type::iterator_category;
-#else
+#if ! (__cplusplus > 201703L && __cpp_lib_concepts)
using __base_ref = typename __traits_type::reference;
#endif
@@ -1339,8 +1358,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#if __cplusplus > 201703L && __cpp_lib_concepts
using iterator_concept = input_iterator_tag;
- using iterator_category
- = __detail::__clamp_iter_cat<__base_cat, random_access_iterator_tag>;
+ // iterator_category defined in __move_iter_cat
using value_type = iter_value_t<_Iterator>;
using difference_type = iter_difference_t<_Iterator>;
using pointer = _Iterator;
@@ -1662,6 +1680,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|| is_reference_v<iter_reference_t<_It>>
|| constructible_from<iter_value_t<_It>, iter_reference_t<_It>>);
+ template<typename _It>
+ concept __common_iter_use_postfix_proxy
+ = (!requires (_It& __i) { { *__i++ } -> __can_reference; })
+ && constructible_from<iter_value_t<_It>, iter_reference_t<_It>>;
} // namespace __detail
/// An iterator/sentinel adaptor for representing a non-common range.
@@ -1684,11 +1706,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_S_noexcept()
{ return _S_noexcept1<_It, _It2>() && _S_noexcept1<_Sent, _Sent2>(); }
- class _Proxy
+ class __arrow_proxy
{
iter_value_t<_It> _M_keep;
- _Proxy(iter_reference_t<_It>&& __x)
+ __arrow_proxy(iter_reference_t<_It>&& __x)
: _M_keep(std::move(__x)) { }
friend class common_iterator;
@@ -1699,6 +1721,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
{ return std::__addressof(_M_keep); }
};
+ class __postfix_proxy
+ {
+ iter_value_t<_It> _M_keep;
+
+ __postfix_proxy(iter_reference_t<_It>&& __x)
+ : _M_keep(std::move(__x)) { }
+
+ friend class common_iterator;
+
+ public:
+ const iter_value_t<_It>&
+ operator*() const
+ { return _M_keep; }
+ };
+
public:
constexpr
common_iterator()
@@ -1855,7 +1892,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return std::__addressof(__tmp);
}
else
- return _Proxy{*_M_it};
+ return __arrow_proxy{*_M_it};
}
common_iterator&
@@ -1876,8 +1913,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
++*this;
return __tmp;
}
- else
+ else if constexpr (!__detail::__common_iter_use_postfix_proxy<_It>)
return _M_it++;
+ else
+ {
+ __postfix_proxy __p(**this);
+ ++*this;
+ return __p;
+ }
}
template<typename _It2, sentinel_for<_It> _Sent2>
@@ -2008,12 +2051,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
using type = decltype(std::declval<const _CIter&>().operator->());
};
+ static auto
+ _S_iter_cat()
+ {
+ using _Traits = iterator_traits<_It>;
+ if constexpr (requires { requires derived_from<typename _Traits::iterator_category,
+ forward_iterator_tag>; })
+ return forward_iterator_tag{};
+ else
+ return input_iterator_tag{};
+ }
+
public:
using iterator_concept = conditional_t<forward_iterator<_It>,
forward_iterator_tag, input_iterator_tag>;
- using iterator_category = __detail::__clamp_iter_cat<
- typename iterator_traits<_It>::iterator_category,
- forward_iterator_tag, input_iterator_tag>;
+ using iterator_category = decltype(_S_iter_cat());
using value_type = iter_value_t<_It>;
using difference_type = iter_difference_t<_It>;
using pointer = typename __ptr<_It>::type;
@@ -2022,12 +2074,48 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// [iterators.counted] Counted iterators
+ namespace __detail
+ {
+ template<typename _It>
+ struct __counted_iter_value_type
+ { };
+
+ template<indirectly_readable _It>
+ struct __counted_iter_value_type<_It>
+ { using value_type = iter_value_t<_It>; };
+
+ template<typename _It>
+ struct __counted_iter_concept
+ { };
+
+ template<typename _It>
+ requires requires { typename _It::iterator_concept; }
+ struct __counted_iter_concept<_It>
+ { using iterator_concept = typename _It::iterator_concept; };
+
+ template<typename _It>
+ struct __counted_iter_cat
+ { };
+
+ template<typename _It>
+ requires requires { typename _It::iterator_category; }
+ struct __counted_iter_cat<_It>
+ { using iterator_category = typename _It::iterator_category; };
+ }
+
/// An iterator adaptor that keeps track of the distance to the end.
template<input_or_output_iterator _It>
class counted_iterator
+ : public __detail::__counted_iter_value_type<_It>,
+ public __detail::__counted_iter_concept<_It>,
+ public __detail::__counted_iter_cat<_It>
{
public:
using iterator_type = _It;
+ // value_type defined in __counted_iter_value_type
+ using difference_type = iter_difference_t<_It>;
+ // iterator_concept defined in __counted_iter_concept
+ // iterator_category defined in __counted_iter_cat
constexpr counted_iterator() = default;
@@ -2084,6 +2172,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return *_M_current;
}
+ constexpr auto
+ operator->() const noexcept
+ requires contiguous_iterator<_It>
+ { return std::to_address(_M_current); }
+
constexpr counted_iterator&
operator++()
{
@@ -2232,16 +2325,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
iter_difference_t<_It> _M_length = 0;
};
- template<typename _It>
- struct incrementable_traits<counted_iterator<_It>>
- {
- using difference_type = iter_difference_t<_It>;
- };
-
template<input_iterator _It>
+ requires same_as<__detail::__iter_traits<_It>, iterator_traits<_It>>
struct iterator_traits<counted_iterator<_It>> : iterator_traits<_It>
{
- using pointer = void;
+ using pointer = conditional_t<contiguous_iterator<_It>,
+ add_pointer_t<iter_reference_t<_It>>,
+ void>;
};
#endif // C++20
diff --git a/libstdc++-v3/include/bits/this_thread_sleep.h b/libstdc++-v3/include/bits/this_thread_sleep.h
new file mode 100644
index 0000000..a87da38
--- /dev/null
+++ b/libstdc++-v3/include/bits/this_thread_sleep.h
@@ -0,0 +1,119 @@
+// std::this_thread::sleep_for/until declarations -*- C++ -*-
+
+// Copyright (C) 2008-2021 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+/** @file bits/std_thread_sleep.h
+ * This is an internal header file, included by other library headers.
+ * Do not attempt to use it directly. @headername{thread}
+ */
+
+#ifndef _GLIBCXX_THIS_THREAD_SLEEP_H
+#define _GLIBCXX_THIS_THREAD_SLEEP_H 1
+
+#pragma GCC system_header
+
+#if __cplusplus >= 201103L
+#include <bits/c++config.h>
+
+#include <chrono> // std::chrono::*
+
+#ifdef _GLIBCXX_USE_NANOSLEEP
+# include <cerrno> // errno, EINTR
+# include <time.h> // nanosleep
+#endif
+
+namespace std _GLIBCXX_VISIBILITY(default)
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+
+ /** @addtogroup threads
+ * @{
+ */
+
+ /** @namespace std::this_thread
+ * @brief ISO C++ 2011 namespace for interacting with the current thread
+ *
+ * C++11 30.3.2 [thread.thread.this] Namespace this_thread.
+ */
+ namespace this_thread
+ {
+#ifndef _GLIBCXX_NO_SLEEP
+
+#ifndef _GLIBCXX_USE_NANOSLEEP
+ void
+ __sleep_for(chrono::seconds, chrono::nanoseconds);
+#endif
+
+ /// this_thread::sleep_for
+ template<typename _Rep, typename _Period>
+ inline void
+ sleep_for(const chrono::duration<_Rep, _Period>& __rtime)
+ {
+ if (__rtime <= __rtime.zero())
+ return;
+ auto __s = chrono::duration_cast<chrono::seconds>(__rtime);
+ auto __ns = chrono::duration_cast<chrono::nanoseconds>(__rtime - __s);
+#ifdef _GLIBCXX_USE_NANOSLEEP
+ struct ::timespec __ts =
+ {
+ static_cast<std::time_t>(__s.count()),
+ static_cast<long>(__ns.count())
+ };
+ while (::nanosleep(&__ts, &__ts) == -1 && errno == EINTR)
+ { }
+#else
+ __sleep_for(__s, __ns);
+#endif
+ }
+
+ /// this_thread::sleep_until
+ template<typename _Clock, typename _Duration>
+ inline void
+ sleep_until(const chrono::time_point<_Clock, _Duration>& __atime)
+ {
+#if __cplusplus > 201703L
+ static_assert(chrono::is_clock_v<_Clock>);
+#endif
+ auto __now = _Clock::now();
+ if (_Clock::is_steady)
+ {
+ if (__now < __atime)
+ sleep_for(__atime - __now);
+ return;
+ }
+ while (__now < __atime)
+ {
+ sleep_for(__atime - __now);
+ __now = _Clock::now();
+ }
+ }
+ } // namespace this_thread
+#endif // ! NO_SLEEP
+
+ /// @}
+
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
+#endif // C++11
+
+#endif // _GLIBCXX_THIS_THREAD_SLEEP_H
diff --git a/libstdc++-v3/include/std/atomic b/libstdc++-v3/include/std/atomic
index a77edcb..9b1fb15 100644
--- a/libstdc++-v3/include/std/atomic
+++ b/libstdc++-v3/include/std/atomic
@@ -384,26 +384,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
void
wait(_Tp __old, memory_order __m = memory_order_seq_cst) const noexcept
{
- std::__atomic_wait(&_M_i, __old,
- [__m, this, __old]
- {
- const auto __v = this->load(__m);
- // TODO make this ignore padding bits when we
- // can do that
- return __builtin_memcmp(&__old, &__v,
- sizeof(_Tp)) != 0;
- });
+ std::__atomic_wait_address_v(&_M_i, __old,
+ [__m, this] { return this->load(__m); });
}
// TODO add const volatile overload
void
notify_one() const noexcept
- { std::__atomic_notify(&_M_i, false); }
+ { std::__atomic_notify_address(&_M_i, false); }
void
notify_all() const noexcept
- { std::__atomic_notify(&_M_i, true); }
+ { std::__atomic_notify_address(&_M_i, true); }
#endif // __cpp_lib_atomic_wait
};
diff --git a/libstdc++-v3/include/std/barrier b/libstdc++-v3/include/std/barrier
index 6f2b987..fd61fb4 100644
--- a/libstdc++-v3/include/std/barrier
+++ b/libstdc++-v3/include/std/barrier
@@ -94,7 +94,7 @@ It looks different from literature pseudocode for two main reasons:
alignas(__phase_alignment) __barrier_phase_t _M_phase;
bool
- _M_arrive(__barrier_phase_t __old_phase)
+ _M_arrive(__barrier_phase_t __old_phase, size_t __current)
{
const auto __old_phase_val = static_cast<unsigned char>(__old_phase);
const auto __half_step =
@@ -104,8 +104,7 @@ It looks different from literature pseudocode for two main reasons:
size_t __current_expected = _M_expected;
std::hash<std::thread::id> __hasher;
- size_t __current = __hasher(std::this_thread::get_id())
- % ((_M_expected + 1) >> 1);
+ __current %= ((_M_expected + 1) >> 1);
for (int __round = 0; ; ++__round)
{
@@ -163,12 +162,14 @@ It looks different from literature pseudocode for two main reasons:
[[nodiscard]] arrival_token
arrive(ptrdiff_t __update)
{
+ std::hash<std::thread::id> __hasher;
+ size_t __current = __hasher(std::this_thread::get_id());
__atomic_phase_ref_t __phase(_M_phase);
const auto __old_phase = __phase.load(memory_order_relaxed);
const auto __cur = static_cast<unsigned char>(__old_phase);
for(; __update; --__update)
{
- if(_M_arrive(__old_phase))
+ if(_M_arrive(__old_phase, __current))
{
_M_completion();
_M_expected += _M_expected_adjustment.load(memory_order_relaxed);
@@ -185,11 +186,11 @@ It looks different from literature pseudocode for two main reasons:
wait(arrival_token&& __old_phase) const
{
__atomic_phase_const_ref_t __phase(_M_phase);
- auto const __test_fn = [=, this]
+ auto const __test_fn = [=]
{
return __phase.load(memory_order_acquire) != __old_phase;
};
- std::__atomic_wait(&_M_phase, __old_phase, __test_fn);
+ std::__atomic_wait_address(&_M_phase, __test_fn);
}
void
diff --git a/libstdc++-v3/include/std/charconv b/libstdc++-v3/include/std/charconv
index 851b1e5..6e407f3 100644
--- a/libstdc++-v3/include/std/charconv
+++ b/libstdc++-v3/include/std/charconv
@@ -44,8 +44,9 @@
#include <bits/error_constants.h> // for std::errc
#include <ext/numeric_traits.h>
-// FIXME: Define when floating point is supported:
-// #define __cpp_lib_to_chars 201611L
+#if _GLIBCXX_HAVE_USELOCALE
+# define __cpp_lib_to_chars 201611L
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
diff --git a/libstdc++-v3/include/std/latch b/libstdc++-v3/include/std/latch
index ef8c301..f00fcf3 100644
--- a/libstdc++-v3/include/std/latch
+++ b/libstdc++-v3/include/std/latch
@@ -2,7 +2,7 @@
// Copyright (C) 2020-2021 Free Software Foundation, Inc.
//
-// This file is part of the GNU ISO C++ Library. This library is free
+// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
@@ -10,7 +10,7 @@
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// Under Section 7 of GPL version 3, you are granted additional
@@ -19,7 +19,7 @@
// You should have received a copy of the GNU General Public License and
// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
/** @file include/latch
@@ -48,7 +48,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
public:
static constexpr ptrdiff_t
max() noexcept
- { return __gnu_cxx::__int_traits<ptrdiff_t>::__max; }
+ { return __gnu_cxx::__int_traits<__detail::__platform_wait_t>::__max; }
constexpr explicit latch(ptrdiff_t __expected) noexcept
: _M_a(__expected) { }
@@ -73,8 +73,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_ALWAYS_INLINE void
wait() const noexcept
{
- auto const __old = __atomic_impl::load(&_M_a, memory_order::acquire);
- std::__atomic_wait(&_M_a, __old, [this] { return this->try_wait(); });
+ auto const __pred = [this] { return this->try_wait(); };
+ std::__atomic_wait_address(&_M_a, __pred);
}
_GLIBCXX_ALWAYS_INLINE void
@@ -85,7 +85,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}
private:
- alignas(__alignof__(ptrdiff_t)) ptrdiff_t _M_a;
+ alignas(__alignof__(__detail::__platform_wait_t)) __detail::__platform_wait_t _M_a;
};
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/ranges
index baec8c0..74075a2 100644
--- a/libstdc++-v3/include/std/ranges
+++ b/libstdc++-v3/include/std/ranges
@@ -290,6 +290,13 @@ namespace ranges
{ __j - __j } -> convertible_to<__iota_diff_t<_It>>;
};
+ template<typename _Winc>
+ struct __iota_view_iter_cat
+ { };
+
+ template<incrementable _Winc>
+ struct __iota_view_iter_cat<_Winc>
+ { using iterator_category = input_iterator_tag; };
} // namespace __detail
template<weakly_incrementable _Winc,
@@ -301,11 +308,11 @@ namespace ranges
private:
struct _Sentinel;
- struct _Iterator
+ struct _Iterator : __detail::__iota_view_iter_cat<_Winc>
{
private:
static auto
- _S_iter_cat()
+ _S_iter_concept()
{
using namespace __detail;
if constexpr (__advanceable<_Winc>)
@@ -319,7 +326,8 @@ namespace ranges
}
public:
- using iterator_category = decltype(_S_iter_cat());
+ using iterator_concept = decltype(_S_iter_concept());
+ // iterator_category defined in __iota_view_iter_cat
using value_type = _Winc;
using difference_type = __detail::__iota_diff_t<_Winc>;
@@ -1100,7 +1108,32 @@ namespace views::__adaptor
_M_offset = __it - ranges::begin(__r);
}
};
+ } // namespace __detail
+
+ namespace __detail
+ {
+ template<typename _Base>
+ struct __filter_view_iter_cat
+ { };
+ template<forward_range _Base>
+ struct __filter_view_iter_cat<_Base>
+ {
+ private:
+ static auto
+ _S_iter_cat()
+ {
+ using _Cat = typename iterator_traits<iterator_t<_Base>>::iterator_category;
+ if constexpr (derived_from<_Cat, bidirectional_iterator_tag>)
+ return bidirectional_iterator_tag{};
+ else if constexpr (derived_from<_Cat, forward_iterator_tag>)
+ return forward_iterator_tag{};
+ else
+ return _Cat{};
+ }
+ public:
+ using iterator_category = decltype(_S_iter_cat());
+ };
} // namespace __detail
template<input_range _Vp,
@@ -1111,7 +1144,7 @@ namespace views::__adaptor
private:
struct _Sentinel;
- struct _Iterator
+ struct _Iterator : __detail::__filter_view_iter_cat<_Vp>
{
private:
static constexpr auto
@@ -1125,18 +1158,6 @@ namespace views::__adaptor
return input_iterator_tag{};
}
- static constexpr auto
- _S_iter_cat()
- {
- using _Cat = typename iterator_traits<_Vp_iter>::iterator_category;
- if constexpr (derived_from<_Cat, bidirectional_iterator_tag>)
- return bidirectional_iterator_tag{};
- else if constexpr (derived_from<_Cat, forward_iterator_tag>)
- return forward_iterator_tag{};
- else
- return _Cat{};
- }
-
friend filter_view;
using _Vp_iter = iterator_t<_Vp>;
@@ -1146,7 +1167,7 @@ namespace views::__adaptor
public:
using iterator_concept = decltype(_S_iter_concept());
- using iterator_category = decltype(_S_iter_cat());
+ // iterator_category defined in __filter_view_iter_cat
using value_type = range_value_t<_Vp>;
using difference_type = range_difference_t<_Vp>;
@@ -1344,36 +1365,26 @@ namespace views::__adaptor
{
private:
template<bool _Const>
- struct _Sentinel;
+ using _Base = __detail::__maybe_const_t<_Const, _Vp>;
template<bool _Const>
- struct _Iterator
+ struct __iter_cat
+ { };
+
+ template<bool _Const>
+ requires forward_range<_Base<_Const>>
+ struct __iter_cat<_Const>
{
private:
- using _Parent = __detail::__maybe_const_t<_Const, transform_view>;
- using _Base = __detail::__maybe_const_t<_Const, _Vp>;
-
- static constexpr auto
- _S_iter_concept()
- {
- if constexpr (random_access_range<_Vp>)
- return random_access_iterator_tag{};
- else if constexpr (bidirectional_range<_Vp>)
- return bidirectional_iterator_tag{};
- else if constexpr (forward_range<_Vp>)
- return forward_iterator_tag{};
- else
- return input_iterator_tag{};
- }
-
- static constexpr auto
+ static auto
_S_iter_cat()
{
+ using _Base = transform_view::_Base<_Const>;
using _Res = invoke_result_t<_Fp&, range_reference_t<_Base>>;
if constexpr (is_lvalue_reference_v<_Res>)
{
using _Cat
- = typename iterator_traits<_Base_iter>::iterator_category;
+ = typename iterator_traits<iterator_t<_Base>>::iterator_category;
if constexpr (derived_from<_Cat, contiguous_iterator_tag>)
return random_access_iterator_tag{};
else
@@ -1382,6 +1393,32 @@ namespace views::__adaptor
else
return input_iterator_tag{};
}
+ public:
+ using iterator_category = decltype(_S_iter_cat());
+ };
+
+ template<bool _Const>
+ struct _Sentinel;
+
+ template<bool _Const>
+ struct _Iterator : __iter_cat<_Const>
+ {
+ private:
+ using _Parent = __detail::__maybe_const_t<_Const, transform_view>;
+ using _Base = transform_view::_Base<_Const>;
+
+ static auto
+ _S_iter_concept()
+ {
+ if constexpr (random_access_range<_Vp>)
+ return random_access_iterator_tag{};
+ else if constexpr (bidirectional_range<_Vp>)
+ return bidirectional_iterator_tag{};
+ else if constexpr (forward_range<_Vp>)
+ return forward_iterator_tag{};
+ else
+ return input_iterator_tag{};
+ }
using _Base_iter = iterator_t<_Base>;
@@ -1390,7 +1427,7 @@ namespace views::__adaptor
public:
using iterator_concept = decltype(_S_iter_concept());
- using iterator_category = decltype(_S_iter_cat());
+ // iterator_category defined in __transform_view_iter_cat
using value_type
= remove_cvref_t<invoke_result_t<_Fp&, range_reference_t<_Base>>>;
using difference_type = range_difference_t<_Base>;
@@ -1556,7 +1593,7 @@ namespace views::__adaptor
{
private:
using _Parent = __detail::__maybe_const_t<_Const, transform_view>;
- using _Base = __detail::__maybe_const_t<_Const, _Vp>;
+ using _Base = transform_view::_Base<_Const>;
template<bool _Const2>
constexpr auto
@@ -2211,17 +2248,61 @@ namespace views::__adaptor
using _InnerRange = range_reference_t<_Vp>;
template<bool _Const>
+ using _Base = __detail::__maybe_const_t<_Const, _Vp>;
+
+ template<bool _Const>
+ using _Outer_iter = iterator_t<_Base<_Const>>;
+
+ template<bool _Const>
+ using _Inner_iter = iterator_t<range_reference_t<_Base<_Const>>>;
+
+ template<bool _Const>
+ static constexpr bool _S_ref_is_glvalue
+ = is_reference_v<range_reference_t<_Base<_Const>>>;
+
+ template<bool _Const>
+ struct __iter_cat
+ { };
+
+ template<bool _Const>
+ requires _S_ref_is_glvalue<_Const>
+ && forward_range<_Base<_Const>>
+ && forward_range<range_reference_t<_Base<_Const>>>
+ struct __iter_cat<_Const>
+ {
+ private:
+ static constexpr auto
+ _S_iter_cat()
+ {
+ using _Outer_iter = join_view::_Outer_iter<_Const>;
+ using _Inner_iter = join_view::_Inner_iter<_Const>;
+ using _OuterCat = typename iterator_traits<_Outer_iter>::iterator_category;
+ using _InnerCat = typename iterator_traits<_Inner_iter>::iterator_category;
+ if constexpr (derived_from<_OuterCat, bidirectional_iterator_tag>
+ && derived_from<_InnerCat, bidirectional_iterator_tag>)
+ return bidirectional_iterator_tag{};
+ else if constexpr (derived_from<_OuterCat, forward_iterator_tag>
+ && derived_from<_InnerCat, forward_iterator_tag>)
+ return forward_iterator_tag{};
+ else
+ return input_iterator_tag{};
+ }
+ public:
+ using iterator_category = decltype(_S_iter_cat());
+ };
+
+ template<bool _Const>
struct _Sentinel;
template<bool _Const>
- struct _Iterator
+ struct _Iterator : __iter_cat<_Const>
{
private:
using _Parent = __detail::__maybe_const_t<_Const, join_view>;
- using _Base = __detail::__maybe_const_t<_Const, _Vp>;
+ using _Base = join_view::_Base<_Const>;
static constexpr bool _S_ref_is_glvalue
- = is_reference_v<range_reference_t<_Base>>;
+ = join_view::_S_ref_is_glvalue<_Const>;
constexpr void
_M_satisfy()
@@ -2261,30 +2342,8 @@ namespace views::__adaptor
return input_iterator_tag{};
}
- static constexpr auto
- _S_iter_cat()
- {
- using _OuterCat
- = typename iterator_traits<_Outer_iter>::iterator_category;
- using _InnerCat
- = typename iterator_traits<_Inner_iter>::iterator_category;
- if constexpr (_S_ref_is_glvalue
- && derived_from<_OuterCat, bidirectional_iterator_tag>
- && derived_from<_InnerCat, bidirectional_iterator_tag>)
- return bidirectional_iterator_tag{};
- else if constexpr (_S_ref_is_glvalue
- && derived_from<_OuterCat, forward_iterator_tag>
- && derived_from<_InnerCat, forward_iterator_tag>)
- return forward_iterator_tag{};
- else if constexpr (derived_from<_OuterCat, input_iterator_tag>
- && derived_from<_InnerCat, input_iterator_tag>)
- return input_iterator_tag{};
- else
- return output_iterator_tag{};
- }
-
- using _Outer_iter = iterator_t<_Base>;
- using _Inner_iter = iterator_t<range_reference_t<_Base>>;
+ using _Outer_iter = join_view::_Outer_iter<_Const>;
+ using _Inner_iter = join_view::_Inner_iter<_Const>;
_Outer_iter _M_outer = _Outer_iter();
_Inner_iter _M_inner = _Inner_iter();
@@ -2292,7 +2351,7 @@ namespace views::__adaptor
public:
using iterator_concept = decltype(_S_iter_concept());
- using iterator_category = decltype(_S_iter_cat());
+ // iterator_category defined in __join_view_iter_cat
using value_type = range_value_t<range_reference_t<_Base>>;
using difference_type
= common_type_t<range_difference_t<_Base>,
@@ -2412,7 +2471,7 @@ namespace views::__adaptor
{
private:
using _Parent = __detail::__maybe_const_t<_Const, join_view>;
- using _Base = __detail::__maybe_const_t<_Const, _Vp>;
+ using _Base = join_view::_Base<_Const>;
template<bool _Const2>
constexpr bool
@@ -2550,6 +2609,35 @@ namespace views::__adaptor
&& requires
{ typename __require_constant<remove_reference_t<_Range>::size()>; }
&& (remove_reference_t<_Range>::size() <= 1);
+
+ template<typename _Base>
+ struct __split_view_outer_iter_cat
+ { };
+
+ template<forward_range _Base>
+ struct __split_view_outer_iter_cat<_Base>
+ { using iterator_category = input_iterator_tag; };
+
+ template<typename _Base>
+ struct __split_view_inner_iter_cat
+ { };
+
+ template<forward_range _Base>
+ struct __split_view_inner_iter_cat<_Base>
+ {
+ private:
+ static constexpr auto
+ _S_iter_cat()
+ {
+ using _Cat = typename iterator_traits<iterator_t<_Base>>::iterator_category;
+ if constexpr (derived_from<_Cat, forward_iterator_tag>)
+ return forward_iterator_tag{};
+ else
+ return _Cat{};
+ }
+ public:
+ using iterator_category = decltype(_S_iter_cat());
+ };
}
template<input_range _Vp, forward_range _Pattern>
@@ -2561,14 +2649,18 @@ namespace views::__adaptor
{
private:
template<bool _Const>
+ using _Base = __detail::__maybe_const_t<_Const, _Vp>;
+
+ template<bool _Const>
struct _InnerIter;
template<bool _Const>
struct _OuterIter
+ : __detail::__split_view_outer_iter_cat<_Base<_Const>>
{
private:
using _Parent = __detail::__maybe_const_t<_Const, split_view>;
- using _Base = __detail::__maybe_const_t<_Const, _Vp>;
+ using _Base = split_view::_Base<_Const>;
constexpr bool
__at_end() const
@@ -2607,7 +2699,7 @@ namespace views::__adaptor
using iterator_concept = conditional_t<forward_range<_Base>,
forward_iterator_tag,
input_iterator_tag>;
- using iterator_category = input_iterator_tag;
+ // iterator_category defined in __split_view_outer_iter_cat
using difference_type = range_difference_t<_Base>;
struct value_type : view_interface<value_type>
@@ -2723,9 +2815,10 @@ namespace views::__adaptor
template<bool _Const>
struct _InnerIter
+ : __detail::__split_view_inner_iter_cat<_Base<_Const>>
{
private:
- using _Base = __detail::__maybe_const_t<_Const, _Vp>;
+ using _Base = split_view::_Base<_Const>;
constexpr bool
__at_end() const
@@ -2759,17 +2852,6 @@ namespace views::__adaptor
}
}
- static constexpr auto
- _S_iter_cat()
- {
- using _Cat
- = typename iterator_traits<iterator_t<_Base>>::iterator_category;
- if constexpr (derived_from<_Cat, forward_iterator_tag>)
- return forward_iterator_tag{};
- else
- return _Cat{};
- }
-
constexpr auto&
_M_i_current() noexcept
{ return _M_i.__current(); }
@@ -2784,7 +2866,7 @@ namespace views::__adaptor
public:
using iterator_concept
= typename _OuterIter<_Const>::iterator_concept;
- using iterator_category = decltype(_S_iter_cat());
+ // iterator_category defined in __split_view_inner_iter_cat
using value_type = range_value_t<_Base>;
using difference_type = range_difference_t<_Base>;
@@ -3293,13 +3375,41 @@ namespace views::__adaptor
private:
template<bool _Const>
+ using _Base = __detail::__maybe_const_t<_Const, _Vp>;
+
+ template<bool _Const>
+ struct __iter_cat
+ { };
+
+ template<bool _Const>
+ requires forward_range<_Base<_Const>>
+ struct __iter_cat<_Const>
+ {
+ private:
+ static auto _S_iter_cat()
+ {
+ using _Base = elements_view::_Base<_Const>;
+ using _Cat = iterator_traits<iterator_t<_Base>>::iterator_category;
+ using _Res = decltype((std::get<_Nm>(*std::declval<iterator_t<_Base>>())));
+ if constexpr (!is_lvalue_reference_v<_Res>)
+ return input_iterator_tag{};
+ else if constexpr (derived_from<_Cat, random_access_iterator_tag>)
+ return random_access_iterator_tag{};
+ else
+ return _Cat{};
+ }
+ public:
+ using iterator_category = decltype(_S_iter_cat());
+ };
+
+ template<bool _Const>
struct _Sentinel;
template<bool _Const>
- struct _Iterator
+ struct _Iterator : __iter_cat<_Const>
{
private:
- using _Base = __detail::__maybe_const_t<_Const, _Vp>;
+ using _Base = elements_view::_Base<_Const>;
iterator_t<_Base> _M_current = iterator_t<_Base>();
@@ -3315,11 +3425,24 @@ namespace views::__adaptor
}
}
+ static auto
+ _S_iter_concept()
+ {
+ if constexpr (random_access_range<_Vp>)
+ return random_access_iterator_tag{};
+ else if constexpr (bidirectional_range<_Vp>)
+ return bidirectional_iterator_tag{};
+ else if constexpr (forward_range<_Vp>)
+ return forward_iterator_tag{};
+ else
+ return input_iterator_tag{};
+ }
+
friend _Iterator<!_Const>;
public:
- using iterator_category
- = typename iterator_traits<iterator_t<_Base>>::iterator_category;
+ using iterator_concept = decltype(_S_iter_concept());
+ // iterator_category defined in elements_view::__iter_cat
using value_type
= remove_cvref_t<tuple_element_t<_Nm, range_value_t<_Base>>>;
using difference_type = range_difference_t<_Base>;
@@ -3471,7 +3594,7 @@ namespace views::__adaptor
_M_equal(const _Iterator<_Const>& __x) const
{ return __x._M_current == _M_end; }
- using _Base = __detail::__maybe_const_t<_Const, _Vp>;
+ using _Base = elements_view::_Base<_Const>;
sentinel_t<_Base> _M_end = sentinel_t<_Base>();
public:
diff --git a/libstdc++-v3/include/std/semaphore b/libstdc++-v3/include/std/semaphore
index 40af41b..a156091 100644
--- a/libstdc++-v3/include/std/semaphore
+++ b/libstdc++-v3/include/std/semaphore
@@ -2,7 +2,7 @@
// Copyright (C) 2020-2021 Free Software Foundation, Inc.
//
-// This file is part of the GNU ISO C++ Library. This library is free
+// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
@@ -10,7 +10,7 @@
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// Under Section 7 of GPL version 3, you are granted additional
@@ -19,7 +19,7 @@
// You should have received a copy of the GNU General Public License and
// a copy of the GCC Runtime Library Exception along with this program;
-// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
/** @file include/semaphore
@@ -33,8 +33,6 @@
#if __cplusplus > 201703L
#include <bits/semaphore_base.h>
-#if __cpp_lib_atomic_wait
-#include <ext/numeric_traits.h>
namespace std _GLIBCXX_VISIBILITY(default)
{
@@ -42,13 +40,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#define __cpp_lib_semaphore 201907L
- template<ptrdiff_t __least_max_value =
- __gnu_cxx::__int_traits<ptrdiff_t>::__max>
+ template<ptrdiff_t __least_max_value = __semaphore_impl::_S_max>
class counting_semaphore
{
static_assert(__least_max_value >= 0);
+ static_assert(__least_max_value <= __semaphore_impl::_S_max);
- __semaphore_impl<__least_max_value> _M_sem;
+ __semaphore_impl _M_sem;
public:
explicit counting_semaphore(ptrdiff_t __desired) noexcept
@@ -91,6 +89,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
-#endif // __cpp_lib_atomic_wait
#endif // C++20
#endif // _GLIBCXX_SEMAPHORE
diff --git a/libstdc++-v3/include/std/thread b/libstdc++-v3/include/std/thread
index 66738e1..886994c 100644
--- a/libstdc++-v3/include/std/thread
+++ b/libstdc++-v3/include/std/thread
@@ -35,19 +35,13 @@
# include <bits/c++0x_warning.h>
#else
-#include <chrono> // std::chrono::*
-
#if __cplusplus > 201703L
# include <compare> // std::strong_ordering
# include <stop_token> // std::stop_source, std::stop_token, std::nostopstate
#endif
#include <bits/std_thread.h> // std::thread, get_id, yield
-
-#ifdef _GLIBCXX_USE_NANOSLEEP
-# include <cerrno> // errno, EINTR
-# include <time.h> // nanosleep
-#endif
+#include <bits/this_thread_sleep.h> // std::this_thread::sleep_for, sleep_until
namespace std _GLIBCXX_VISIBILITY(default)
{
@@ -103,66 +97,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
return __out << __id._M_thread;
}
- /** @namespace std::this_thread
- * @brief ISO C++ 2011 namespace for interacting with the current thread
- *
- * C++11 30.3.2 [thread.thread.this] Namespace this_thread.
- */
- namespace this_thread
- {
-#ifndef _GLIBCXX_NO_SLEEP
-
-#ifndef _GLIBCXX_USE_NANOSLEEP
- void
- __sleep_for(chrono::seconds, chrono::nanoseconds);
-#endif
-
- /// this_thread::sleep_for
- template<typename _Rep, typename _Period>
- inline void
- sleep_for(const chrono::duration<_Rep, _Period>& __rtime)
- {
- if (__rtime <= __rtime.zero())
- return;
- auto __s = chrono::duration_cast<chrono::seconds>(__rtime);
- auto __ns = chrono::duration_cast<chrono::nanoseconds>(__rtime - __s);
-#ifdef _GLIBCXX_USE_NANOSLEEP
- struct ::timespec __ts =
- {
- static_cast<std::time_t>(__s.count()),
- static_cast<long>(__ns.count())
- };
- while (::nanosleep(&__ts, &__ts) == -1 && errno == EINTR)
- { }
-#else
- __sleep_for(__s, __ns);
-#endif
- }
-
- /// this_thread::sleep_until
- template<typename _Clock, typename _Duration>
- inline void
- sleep_until(const chrono::time_point<_Clock, _Duration>& __atime)
- {
-#if __cplusplus > 201703L
- static_assert(chrono::is_clock_v<_Clock>);
-#endif
- auto __now = _Clock::now();
- if (_Clock::is_steady)
- {
- if (__now < __atime)
- sleep_for(__atime - __now);
- return;
- }
- while (__now < __atime)
- {
- sleep_for(__atime - __now);
- __now = _Clock::now();
- }
- }
- } // namespace this_thread
-#endif // ! NO_SLEEP
-
#ifdef __cpp_lib_jthread
/// A thread that can be requested to stop and automatically joined.
diff --git a/libstdc++-v3/include/std/version b/libstdc++-v3/include/std/version
index cb25148..d9f6a3c 100644
--- a/libstdc++-v3/include/std/version
+++ b/libstdc++-v3/include/std/version
@@ -161,7 +161,9 @@
#endif
#define __cpp_lib_shared_ptr_weak_type 201606
#define __cpp_lib_string_view 201803L
-// #define __cpp_lib_to_chars 201611L
+#if _GLIBCXX_HAVE_USELOCALE
+# define __cpp_lib_to_chars 201611L
+#endif
#define __cpp_lib_unordered_map_try_emplace 201411
#define __cpp_lib_variant 201606L
#endif
diff --git a/libstdc++-v3/python/Makefile.am b/libstdc++-v3/python/Makefile.am
index 01517a2..0c2b207 100644
--- a/libstdc++-v3/python/Makefile.am
+++ b/libstdc++-v3/python/Makefile.am
@@ -44,21 +44,9 @@ gdb.py: hook.in Makefile
install-data-local: gdb.py
@$(mkdir_p) $(DESTDIR)$(toolexeclibdir)
## We want to install gdb.py as SOMETHING-gdb.py. SOMETHING is the
-## full name of the final library. We want to ignore symlinks, the
-## .la file, and any previous -gdb.py file. This is inherently
-## fragile, but there does not seem to be a better option, because
-## libtool hides the real names from us.
- @here=`pwd`; cd $(DESTDIR)$(toolexeclibdir); \
- for file in libstdc++.*; do \
- case $$file in \
- *-gdb.py) ;; \
- *.la) ;; \
- *) if test -h $$file; then \
- continue; \
- fi; \
- libname=$$file;; \
- esac; \
- done; \
- cd $$here; \
+## full name of the final library. We use the libtool .la file to get
+## the correct name.
+ @libname=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
+ $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \
echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
$(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py
diff --git a/libstdc++-v3/python/Makefile.in b/libstdc++-v3/python/Makefile.in
index c35dbe5..2efe0b9 100644
--- a/libstdc++-v3/python/Makefile.in
+++ b/libstdc++-v3/python/Makefile.in
@@ -607,18 +607,8 @@ gdb.py: hook.in Makefile
install-data-local: gdb.py
@$(mkdir_p) $(DESTDIR)$(toolexeclibdir)
- @here=`pwd`; cd $(DESTDIR)$(toolexeclibdir); \
- for file in libstdc++.*; do \
- case $$file in \
- *-gdb.py) ;; \
- *.la) ;; \
- *) if test -h $$file; then \
- continue; \
- fi; \
- libname=$$file;; \
- esac; \
- done; \
- cd $$here; \
+ @libname=`sed -ne "/^library_names=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
+ $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \
echo " $(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
$(INSTALL_DATA) gdb.py $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py
diff --git a/libstdc++-v3/testsuite/20_util/from_chars/4.cc b/libstdc++-v3/testsuite/20_util/from_chars/4.cc
index 1482b5d..7cee4dc 100644
--- a/libstdc++-v3/testsuite/20_util/from_chars/4.cc
+++ b/libstdc++-v3/testsuite/20_util/from_chars/4.cc
@@ -28,9 +28,7 @@
// Test std::from_chars floating-point conversions.
-// As of July 2020 __cpp_lib_to_chars is not defined, but std::from_chars
-// works for floating-point types when _GLIBCXX_HAVE_USELOCALE is defined.
-#if __cpp_lib_to_chars >= 201611L || _GLIBCXX_HAVE_USELOCALE
+#if __cpp_lib_to_chars >= 201611L
void
test01()
{
@@ -363,7 +361,7 @@ test06()
int
main()
{
-#if __cpp_lib_to_chars >= 201611L || _GLIBCXX_HAVE_USELOCALE
+#if __cpp_lib_to_chars >= 201611L
test01();
test02();
test03();
diff --git a/libstdc++-v3/testsuite/20_util/from_chars/5.cc b/libstdc++-v3/testsuite/20_util/from_chars/5.cc
index dd5f922..fa86ab7 100644
--- a/libstdc++-v3/testsuite/20_util/from_chars/5.cc
+++ b/libstdc++-v3/testsuite/20_util/from_chars/5.cc
@@ -25,9 +25,7 @@
// Test std::from_chars error handling.
-// As of July 2020 __cpp_lib_to_chars is not defined, but std::from_chars
-// works for floating-point types when _GLIBCXX_HAVE_USELOCALE is defined.
-#if __cpp_lib_to_chars >= 201611L || _GLIBCXX_HAVE_USELOCALE
+#if __cpp_lib_to_chars >= 201611L
void
test01()
{
@@ -160,7 +158,7 @@ test04()
int
main()
{
-#if __cpp_lib_to_chars >= 201611L || _GLIBCXX_HAVE_USELOCALE
+#if __cpp_lib_to_chars >= 201611L
test01();
test02();
test03();
diff --git a/libstdc++-v3/testsuite/20_util/from_chars/6.cc b/libstdc++-v3/testsuite/20_util/from_chars/6.cc
index 58e0f1f..139a181 100644
--- a/libstdc++-v3/testsuite/20_util/from_chars/6.cc
+++ b/libstdc++-v3/testsuite/20_util/from_chars/6.cc
@@ -27,7 +27,7 @@
void
test01()
{
-#if __cpp_lib_to_chars >= 201611L || _GLIBCXX_HAVE_USELOCALE
+#if __cpp_lib_to_chars >= 201611L
#if _GLIBCXX_USE_C99_FENV_TR1
double d;
std::fesetround(FE_DOWNWARD);
diff --git a/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc b/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
index 22d4206..8cf45ad 100644
--- a/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
+++ b/libstdc++-v3/testsuite/20_util/to_chars/long_double.cc
@@ -69,7 +69,7 @@ test01()
// Verifies correctness of the hexadecimal form [BEGIN,END) for VALUE by
// round-tripping it through from_chars (if available).
auto verify_via_from_chars = [] (char *begin, char *end, long double value) {
-#if __cpp_lib_to_chars >= 201611L || _GLIBCXX_HAVE_USELOCALE
+#if __cpp_lib_to_chars >= 201611L
long double roundtrip;
auto result = from_chars(begin, end, roundtrip, chars_format::hex);
VERIFY( result.ec == errc{} );
diff --git a/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis_c++20.cc b/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis_c++20.cc
index 3ebb1e0..3103094 100644
--- a/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis_c++20.cc
+++ b/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis_c++20.cc
@@ -73,6 +73,7 @@ namespace std
struct incrementable_traits<counted_iterator<I>>;
template<input_iterator I>
+ requires same_as<__detail::__iter_traits<I>, iterator_traits<I>>
struct iterator_traits<counted_iterator<I>>;
struct unreachable_sentinel_t;
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/bool.cc b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/bool.cc
index b26ffb5..da25cc7 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/bool.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/bool.cc
@@ -23,42 +23,21 @@
#include <atomic>
#include <thread>
-#include <mutex>
-#include <condition_variable>
-#include <type_traits>
-#include <chrono>
#include <testsuite_hooks.h>
int
main ()
{
- using namespace std::literals::chrono_literals;
-
- std::mutex m;
- std::condition_variable cv;
- std::unique_lock<std::mutex> l(m);
-
- std::atomic<bool> a(false);
- std::atomic<bool> b(false);
+ std::atomic<bool> a{ true };
+ VERIFY( a.load() );
+ a.wait(false);
std::thread t([&]
- {
- {
- // This ensures we block until cv.wait(l) starts.
- std::lock_guard<std::mutex> ll(m);
- }
- cv.notify_one();
- a.wait(false);
- if (a.load())
- {
- b.store(true);
- }
- });
- cv.wait(l);
- std::this_thread::sleep_for(100ms);
- a.store(true);
- a.notify_one();
+ {
+ a.store(false);
+ a.notify_one();
+ });
+ a.wait(true);
t.join();
- VERIFY( b.load() );
return 0;
}
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/generic.cc b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/generic.cc
index e67ab77..fb68b42 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/generic.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/generic.cc
@@ -21,12 +21,27 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-#include "atomic/wait_notify_util.h"
+#include <atomic>
+#include <thread>
+
+#include <testsuite_hooks.h>
int
main ()
{
struct S{ int i; };
- check<S> check_s{S{0},S{42}};
+ S aa{ 0 };
+ S bb{ 42 };
+
+ std::atomic<S> a{ aa };
+ VERIFY( a.load().i == aa.i );
+ a.wait(bb);
+ std::thread t([&]
+ {
+ a.store(bb);
+ a.notify_one();
+ });
+ a.wait(aa);
+ t.join();
return 0;
}
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/pointers.cc b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/pointers.cc
index 0233543..53080bb 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/pointers.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/pointers.cc
@@ -23,42 +23,24 @@
#include <atomic>
#include <thread>
-#include <mutex>
-#include <condition_variable>
-#include <type_traits>
-#include <chrono>
#include <testsuite_hooks.h>
int
main ()
{
- using namespace std::literals::chrono_literals;
-
- std::mutex m;
- std::condition_variable cv;
- std::unique_lock<std::mutex> l(m);
-
long aa;
long bb;
-
- std::atomic<long*> a(nullptr);
+ std::atomic<long*> a(&aa);
+ VERIFY( a.load() == &aa );
+ a.wait(&bb);
std::thread t([&]
- {
- {
- // This ensures we block until cv.wait(l) starts.
- std::lock_guard<std::mutex> ll(m);
- }
- cv.notify_one();
- a.wait(nullptr);
- if (a.load() == &aa)
- a.store(&bb);
- });
- cv.wait(l);
- std::this_thread::sleep_for(100ms);
- a.store(&aa);
- a.notify_one();
+ {
+ a.store(&bb);
+ a.notify_one();
+ });
+ a.wait(&aa);
t.join();
- VERIFY( a.load() == &bb);
+
return 0;
}
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_flag/wait_notify/1.cc b/libstdc++-v3/testsuite/29_atomics/atomic_flag/wait_notify/1.cc
index 241251f..9872a56 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_flag/wait_notify/1.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_flag/wait_notify/1.cc
@@ -22,10 +22,6 @@
// <http://www.gnu.org/licenses/>.
#include <atomic>
-#include <chrono>
-#include <condition_variable>
-#include <concepts>
-#include <mutex>
#include <thread>
#include <testsuite_hooks.h>
@@ -33,34 +29,15 @@
int
main()
{
- using namespace std::literals::chrono_literals;
-
- std::mutex m;
- std::condition_variable cv;
- std::unique_lock<std::mutex> l(m);
-
std::atomic_flag a;
- std::atomic_flag b;
+ VERIFY( !a.test() );
+ a.wait(true);
std::thread t([&]
- {
- {
- // This ensures we block until cv.wait(l) starts.
- std::lock_guard<std::mutex> ll(m);
- }
- cv.notify_one();
- a.wait(false);
- b.test_and_set();
- b.notify_one();
- });
-
- cv.wait(l);
- std::this_thread::sleep_for(100ms);
- a.test_and_set();
- a.notify_one();
- b.wait(false);
+ {
+ a.test_and_set();
+ a.notify_one();
+ });
+ a.wait(false);
t.join();
-
- VERIFY( a.test() );
- VERIFY( b.test() );
return 0;
}
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_float/wait_notify.cc b/libstdc++-v3/testsuite/29_atomics/atomic_float/wait_notify.cc
index d8ec5fb..01768da 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_float/wait_notify.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_float/wait_notify.cc
@@ -21,12 +21,32 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-#include "atomic/wait_notify_util.h"
+
+#include <atomic>
+#include <thread>
+
+#include <testsuite_hooks.h>
+
+template<typename Tp>
+ void
+ check()
+ {
+ std::atomic<Tp> a{ 1.0 };
+ VERIFY( a.load() != 0.0 );
+ a.wait( 0.0 );
+ std::thread t([&]
+ {
+ a.store(0.0);
+ a.notify_one();
+ });
+ a.wait(1.0);
+ t.join();
+ }
int
main ()
{
- check<float> f;
- check<double> d;
+ check<float>();
+ check<double>();
return 0;
}
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/wait_notify.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/wait_notify.cc
index 19c1ec4..d1bf081 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/wait_notify.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/wait_notify.cc
@@ -21,46 +21,57 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-#include "atomic/wait_notify_util.h"
-void
-test01()
-{
- struct S{ int i; };
- std::atomic<S> s;
+#include <atomic>
+#include <thread>
- s.wait(S{42});
-}
+#include <testsuite_hooks.h>
+
+template<typename Tp>
+ void
+ check()
+ {
+ std::atomic<Tp> a{ Tp(1) };
+ VERIFY( a.load() == Tp(1) );
+ a.wait( Tp(0) );
+ std::thread t([&]
+ {
+ a.store(Tp(0));
+ a.notify_one();
+ });
+ a.wait(Tp(1));
+ t.join();
+ }
int
main ()
{
// check<bool> bb;
- check<char> ch;
- check<signed char> sch;
- check<unsigned char> uch;
- check<short> s;
- check<unsigned short> us;
- check<int> i;
- check<unsigned int> ui;
- check<long> l;
- check<unsigned long> ul;
- check<long long> ll;
- check<unsigned long long> ull;
+ check<char>();
+ check<signed char>();
+ check<unsigned char>();
+ check<short>();
+ check<unsigned short>();
+ check<int>();
+ check<unsigned int>();
+ check<long>();
+ check<unsigned long>();
+ check<long long>();
+ check<unsigned long long>();
- check<wchar_t> wch;
- check<char8_t> ch8;
- check<char16_t> ch16;
- check<char32_t> ch32;
+ check<wchar_t>();
+ check<char8_t>();
+ check<char16_t>();
+ check<char32_t>();
- check<int8_t> i8;
- check<int16_t> i16;
- check<int32_t> i32;
- check<int64_t> i64;
+ check<int8_t>();
+ check<int16_t>();
+ check<int32_t>();
+ check<int64_t>();
- check<uint8_t> u8;
- check<uint16_t> u16;
- check<uint32_t> u32;
- check<uint64_t> u64;
+ check<uint8_t>();
+ check<uint16_t>();
+ check<uint32_t>();
+ check<uint64_t>();
return 0;
}
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_ref/wait_notify.cc b/libstdc++-v3/testsuite/29_atomics/atomic_ref/wait_notify.cc
index a674085..2fd3130 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_ref/wait_notify.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_ref/wait_notify.cc
@@ -23,73 +23,25 @@
#include <atomic>
#include <thread>
-#include <mutex>
-#include <condition_variable>
-#include <chrono>
-#include <type_traits>
#include <testsuite_hooks.h>
-template<typename Tp>
-Tp check_wait_notify(Tp val1, Tp val2)
+int
+main ()
{
- using namespace std::literals::chrono_literals;
+ struct S{ int i; };
+ S aa{ 0 };
+ S bb{ 42 };
- std::mutex m;
- std::condition_variable cv;
- std::unique_lock<std::mutex> l(m);
-
- Tp aa = val1;
- std::atomic_ref<Tp> a(aa);
+ std::atomic_ref<S> a{ aa };
+ VERIFY( a.load().i == aa.i );
+ a.wait(bb);
std::thread t([&]
- {
- {
- // This ensures we block until cv.wait(l) starts.
- std::lock_guard<std::mutex> ll(m);
- }
- cv.notify_one();
- a.wait(val1);
- if (a.load() != val2)
- a = val1;
- });
- cv.wait(l);
- std::this_thread::sleep_for(100ms);
- a.store(val2);
- a.notify_one();
+ {
+ a.store(bb);
+ a.notify_one();
+ });
+ a.wait(aa);
t.join();
- return a.load();
-}
-
-template<typename Tp,
- bool = std::is_integral_v<Tp>
- || std::is_floating_point_v<Tp>>
-struct check;
-
-template<typename Tp>
-struct check<Tp, true>
-{
- check()
- {
- Tp a = 0;
- Tp b = 42;
- VERIFY(check_wait_notify(a, b) == b);
- }
-};
-
-template<typename Tp>
-struct check<Tp, false>
-{
- check(Tp b)
- {
- Tp a;
- VERIFY(check_wait_notify(a, b) == b);
- }
-};
-
-int
-main ()
-{
- check<long>();
- check<double>();
return 0;
}
diff --git a/libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_for.cc b/libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_for.cc
index e7edc9e..248ecb0 100644
--- a/libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_for.cc
+++ b/libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_for.cc
@@ -21,6 +21,8 @@
// { dg-require-gthreads "" }
// { dg-add-options libatomic }
+// { dg-skip-if "FIXME: fails" { ! futex } }
+
#include <semaphore>
#include <chrono>
#include <thread>
diff --git a/libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_until.cc b/libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_until.cc
index 49ba33b..eb1351c 100644
--- a/libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_until.cc
+++ b/libstdc++-v3/testsuite/30_threads/semaphore/try_acquire_until.cc
@@ -21,6 +21,8 @@
// { dg-additional-options "-pthread" { target pthread } }
// { dg-add-options libatomic }
+// { dg-skip-if "FIXME: fails" { ! futex } }
+
#include <semaphore>
#include <chrono>
#include <thread>
diff --git a/libstdc++-v3/testsuite/std/ranges/p2259.cc b/libstdc++-v3/testsuite/std/ranges/p2259.cc
new file mode 100644
index 0000000..1b422e4
--- /dev/null
+++ b/libstdc++-v3/testsuite/std/ranges/p2259.cc
@@ -0,0 +1,91 @@
+// Copyright (C) 2021 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++2a" }
+// { dg-do compile { target c++2a } }
+
+// Verify P2259 changes.
+
+#include <ranges>
+#include <tuple>
+#include <vector>
+
+namespace ranges = std::ranges;
+namespace views = std::views;
+
+using std::__detail::__iter_without_category;
+
+template<typename _Range>
+concept only_cxx20_input_range = ranges::input_range<_Range>
+ && !ranges::forward_range<_Range>
+ && __iter_without_category<ranges::iterator_t<_Range>>;
+
+void
+test01()
+{
+ extern std::vector<int> vec;
+ only_cxx20_input_range auto v0
+ = vec
+ | views::transform([](int c) { return views::single(c); })
+ | views::join;
+
+ // Verify the changes to filter_view.
+ only_cxx20_input_range auto v1 = v0 | views::filter([](int c) { return c > 0; });
+
+ // Verify the changes to transform_view.
+ only_cxx20_input_range auto v2 = v0 | views::transform([](int& c) -> auto& { return c; });
+
+ // Verify the changes to split_view.
+ only_cxx20_input_range auto v3 = v0 | views::split(12);
+ static_assert(only_cxx20_input_range<decltype(*v3.begin())>);
+
+ // Verify the changes to join_view.
+ only_cxx20_input_range auto v4 = v0 | views::split(12) | views::join;
+
+ // Verify the changes to elements_view.
+ only_cxx20_input_range auto v5
+ = v0
+ | views::transform([](int c) { return std::make_tuple(c, c); })
+ | views::elements<0>;
+
+ // Verify the changes to common_iterator.
+ only_cxx20_input_range auto v6 = v0 | views::common;
+ *(v6.begin()++);
+
+ // Verify the changes to iota_view.
+ only_cxx20_input_range auto v8 = ranges::iota_view{v0.begin()};
+
+ // Verify the changes to move_iterator.
+ __iter_without_category auto i9 = std::make_move_iterator(v0.begin());
+
+ // Verify the changes to counted_iterator.
+ extern std::counted_iterator<int*> i10;
+ static_assert(std::contiguous_iterator<decltype(i10)>);
+ static_assert(std::same_as<std::iterator_traits<decltype(i10)>::iterator_category,
+ std::random_access_iterator_tag>);
+ i10.operator->();
+ __iter_without_category auto i11 = std::counted_iterator{v0.begin(), 5};
+}
+
+void
+test02()
+{
+ // Verify LWG 3291 example.
+ auto v = views::iota(0);
+ auto i = std::counted_iterator{v.begin(), 5};
+ static_assert(std::random_access_iterator<decltype(i)>);
+}
diff --git a/libstdc++-v3/testsuite/util/testsuite_abi.cc b/libstdc++-v3/testsuite/util/testsuite_abi.cc
index bc7efa7..3af5dc5 100644
--- a/libstdc++-v3/testsuite/util/testsuite_abi.cc
+++ b/libstdc++-v3/testsuite/util/testsuite_abi.cc
@@ -407,6 +407,15 @@ compare_symbols(const char* baseline_file, const char* test_file,
++li;
}
+ // Similarly for IEEE128 symbols.
+ bool ieee_version_found(false);
+ for (li = test.begin(); li != test.end(); ++li)
+ if (li->second.version_name.find("_IEEE128_") != std::string::npos)
+ {
+ ieee_version_found = true;
+ break;
+ }
+
// Sort out names.
// Assuming all baseline names and test names are both unique w/ no
// duplicates.
@@ -440,9 +449,12 @@ compare_symbols(const char* baseline_file, const char* test_file,
{
// Iff no test long double compatibility symbols at all and the symbol
// missing is a baseline long double compatibility symbol, skip.
- string version_name(i->second.version_name);
+ string version_name(i->second.version_name.size()
+ ? i->second.version_name : i->first);
bool base_ld(version_name.find("_LDBL_") != std::string::npos);
- if (!base_ld || base_ld && ld_version_found)
+ bool base_ieee(version_name.find("_IEEE128_") != std::string::npos);
+ if ((!base_ld || (base_ld && ld_version_found))
+ && (!base_ieee || (base_ieee && ieee_version_found)))
missing_names.push_back(name);
}
}
diff --git a/lto-plugin/ChangeLog b/lto-plugin/ChangeLog
index 35aadca..a2db24d 100644
--- a/lto-plugin/ChangeLog
+++ b/lto-plugin/ChangeLog
@@ -1,3 +1,7 @@
+2021-04-21 Martin Liska <mliska@suse.cz>
+
+ * lto-plugin.c (exec_lto_wrapper): Make a temp variable.
+
2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
* configure: Re-generate.
diff --git a/lto-plugin/lto-plugin.c b/lto-plugin/lto-plugin.c
index 32478f0..4e90ce0 100644
--- a/lto-plugin/lto-plugin.c
+++ b/lto-plugin/lto-plugin.c
@@ -636,10 +636,10 @@ exec_lto_wrapper (char *argv[])
/* Write argv to a file to avoid a command line that is too long
Save the file locally on save-temps. */
+ const char *suffix = ".lto_wrapper_args";
+ suffix += skip_in_suffix;
if (save_temps && link_output_name)
- arguments_file_name = concat (link_output_name,
- ".lto_wrapper_args"
- + skip_in_suffix, NULL);
+ arguments_file_name = concat (link_output_name, suffix, NULL);
else
arguments_file_name = make_temp_file (".lto_wrapper_args");
check (arguments_file_name, LDPL_FATAL,
diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog
index bbee2ae..ab18cfd 100644
--- a/maintainer-scripts/ChangeLog
+++ b/maintainer-scripts/ChangeLog
@@ -1,3 +1,8 @@
+2021-04-20 Jakub Jelinek <jakub@redhat.com>
+
+ * crontab: Snapshots from trunk are now GCC 12 related.
+ Add GCC 11 snapshots from the respective branch.
+
2021-04-09 Martin Liska <mliska@suse.cz>
* branch_changer.py: Generate URL only when emitting
diff --git a/maintainer-scripts/crontab b/maintainer-scripts/crontab
index 64eda6a..8f2c0d8 100644
--- a/maintainer-scripts/crontab
+++ b/maintainer-scripts/crontab
@@ -1,7 +1,8 @@
16 0 * * * sh /home/gccadmin/scripts/update_version_git
50 0 * * * sh /home/gccadmin/scripts/update_web_docs_git
55 0 * * * sh /home/gccadmin/scripts/update_web_docs_libstdcxx_git
-32 22 * * 4 sh /home/gccadmin/scripts/gcc_release -s 8:releases/gcc-8 -l -d /sourceware/snapshot-tmp/gcc all
-32 22 * * 5 sh /home/gccadmin/scripts/gcc_release -s 9:releases/gcc-9 -l -d /sourceware/snapshot-tmp/gcc all
-32 22 * * 6 sh /home/gccadmin/scripts/gcc_release -s 10:releases/gcc-10 -l -d /sourceware/snapshot-tmp/gcc all
-32 22 * * 7 sh /home/gccadmin/scripts/gcc_release -s 11:master -l -d /sourceware/snapshot-tmp/gcc all
+32 22 * * 3 sh /home/gccadmin/scripts/gcc_release -s 8:releases/gcc-8 -l -d /sourceware/snapshot-tmp/gcc all
+32 22 * * 4 sh /home/gccadmin/scripts/gcc_release -s 9:releases/gcc-9 -l -d /sourceware/snapshot-tmp/gcc all
+32 22 * * 5 sh /home/gccadmin/scripts/gcc_release -s 10:releases/gcc-10 -l -d /sourceware/snapshot-tmp/gcc all
+32 22 * * 6 sh /home/gccadmin/scripts/gcc_release -s 11:releases/gcc-11 -l -d /sourceware/snapshot-tmp/gcc all
+32 22 * * 7 sh /home/gccadmin/scripts/gcc_release -s 12:master -l -d /sourceware/snapshot-tmp/gcc all