[gcc r14-4991] RISC-V: Fix one range-loop-construct warning of avlprop

Pan Li panli@gcc.gnu.org
Sun Oct 29 00:40:35 GMT 2023


https://gcc.gnu.org/g:b8b63e87669ef835e367f7b8ad437c6d1a6791f1

commit r14-4991-gb8b63e87669ef835e367f7b8ad437c6d1a6791f1
Author: Pan Li <pan2.li@intel.com>
Date:   Sat Oct 28 22:48:58 2023 +0800

    RISC-V: Fix one range-loop-construct warning of avlprop
    
    This patch would like to fix one warning of avlprop as below.
    
    ../../gcc/config/riscv/riscv-avlprop.cc: In member function 'virtual
    unsigned int pass_avlprop::execute(function*)':
    ../../gcc/config/riscv/riscv-avlprop.cc:346:23: error: loop variable
    'candidate' creates a copy from type 'const std::pair<avlprop_type,
    rtl_ssa::insn_info*>' [-Werror=range-loop-construct]
      346 |       for (const auto candidate : m_candidates)
          |                       ^~~~~~~~~
    ../../gcc/config/riscv/riscv-avlprop.cc:346:23: note: use reference type
    to prevent copying
      346 |       for (const auto candidate : m_candidates)
          |                       ^~~~~~~~~
          |                       &
    
    gcc/ChangeLog:
    
            * config/riscv/riscv-avlprop.cc (pass_avlprop::execute): Use
            reference type to prevent copying.
    
    Signed-off-by: Pan Li <pan2.li@intel.com>

Diff:
---
 gcc/config/riscv/riscv-avlprop.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/riscv/riscv-avlprop.cc b/gcc/config/riscv/riscv-avlprop.cc
index 2c79ec818067..c59eb7f6fa32 100644
--- a/gcc/config/riscv/riscv-avlprop.cc
+++ b/gcc/config/riscv/riscv-avlprop.cc
@@ -343,7 +343,7 @@ pass_avlprop::execute (function *fn)
     {
       fprintf (dump_file, "\nNumber of potential AVL propagations: %d\n",
 	       m_candidates.length ());
-      for (const auto candidate : m_candidates)
+      for (const auto &candidate : m_candidates)
 	{
 	  fprintf (dump_file, "\nAVL propagation type: %s\n",
 		   avlprop_type_to_str (candidate.first));


More information about the Gcc-cvs mailing list