Function riscv_ext_is_subset () uses structured bindings to iterate over
all keys and values of an unordered map.  However, this is only
available since C++17 and causes a warning like this:
  warning: structured bindings only available with ‘-std=c++17’
This patch addresses the warning.

gcc/ChangeLog:

        * common/config/riscv/riscv-common.cc (riscv_ext_is_subset):
        Remove use of structured binding to fix compiler warning.

Signed-off-by: Christoph Müllner <christoph.muell...@vrull.eu>
---
 gcc/common/config/riscv/riscv-common.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/common/config/riscv/riscv-common.cc 
b/gcc/common/config/riscv/riscv-common.cc
index 82037a334528..da3cb9f788dc 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -1606,8 +1606,9 @@ bool
 riscv_ext_is_subset (struct cl_target_option *opts,
                     struct cl_target_option *subset)
 {
-  for (const auto &[ext_name, ext_info] : riscv_ext_infos)
+  for (const auto &riscv_ext_info : riscv_ext_infos)
     {
+      const auto &ext_info = riscv_ext_info.second;
       if (ext_info.check_opts (opts) && !ext_info.check_opts (subset))
        return false;
     }
-- 
2.50.1

Reply via email to