aboutsummaryrefslogtreecommitdiff
path: root/gcc/common
diff options
context:
space:
mode:
authorKito Cheng <kito.cheng@sifive.com>2025-06-05 15:23:59 +0800
committerKito Cheng <kito.cheng@sifive.com>2025-06-05 22:11:42 +0800
commit35200a033dfcfe38ce5c066651f94e5475a40373 (patch)
tree44da4c769734b5972661a2888148acafca55d6df /gcc/common
parentea9ea72e448e391d4be781b74956a0190f93afc8 (diff)
downloadgcc-35200a033dfcfe38ce5c066651f94e5475a40373.zip
gcc-35200a033dfcfe38ce5c066651f94e5475a40373.tar.gz
gcc-35200a033dfcfe38ce5c066651f94e5475a40373.tar.bz2
RISC-V: Don't use structured binding in riscv-common.cc
It's new C++ language feature introduced in C++17, which is higher than the build environment required by the GCC (C++14). gcc/ChangeLog: * common/config/riscv/riscv-common.cc: Remove structured binding from the code.
Diffstat (limited to 'gcc/common')
-rw-r--r--gcc/common/config/riscv/riscv-common.cc27
1 files changed, 18 insertions, 9 deletions
diff --git a/gcc/common/config/riscv/riscv-common.cc b/gcc/common/config/riscv/riscv-common.cc
index a6d8763..6b54403 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -1129,8 +1129,10 @@ riscv_subset_list::check_implied_ext ()
void
riscv_subset_list::handle_combine_ext ()
{
- for (const auto &[ext_name, ext_info] : riscv_ext_infos)
+ for (const auto &pair : riscv_ext_infos)
{
+ const std::string &ext_name = pair.first;
+ auto &ext_info = pair.second;
bool is_combined = true;
/* Skip if this extension don't need to combine. */
if (!ext_info.need_combine_p ())
@@ -1558,20 +1560,27 @@ riscv_set_arch_by_subset_list (riscv_subset_list *subset_list,
if (opts)
{
/* Clean up target flags before we set. */
- for (const auto &[ext_name, ext_info] : riscv_ext_infos)
- ext_info.clean_opts (opts);
+ for (const auto &pair : riscv_ext_infos)
+ {
+ auto &ext_info = pair.second;
+ ext_info.clean_opts (opts);
+ }
if (subset_list->xlen () == 32)
opts->x_riscv_isa_flags &= ~MASK_64BIT;
else if (subset_list->xlen () == 64)
opts->x_riscv_isa_flags |= MASK_64BIT;
- for (const auto &[ext_name, ext_info] : riscv_ext_infos)
- if (subset_list->lookup (ext_name.c_str ()))
- {
- /* Set the extension flag. */
- ext_info.set_opts (opts);
- }
+ for (const auto &pair : riscv_ext_infos)
+ {
+ const std::string &ext_name = pair.first;
+ auto &ext_info = pair.second;
+ if (subset_list->lookup (ext_name.c_str ()))
+ {
+ /* Set the extension flag. */
+ ext_info.set_opts (opts);
+ }
+ }
}
}