pushed
On Thu, Jun 5, 2025 at 3:25 PM Kito Cheng <kito.ch...@sifive.com> wrote: > > 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. > --- > gcc/common/config/riscv/riscv-common.cc | 27 ++++++++++++++++--------- > 1 file changed, 18 insertions(+), 9 deletions(-) > > diff --git a/gcc/common/config/riscv/riscv-common.cc > b/gcc/common/config/riscv/riscv-common.cc > index a6d8763f032..6b5440365e3 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); > + } > + } > } > } > > -- > 2.34.1 >