[gcc r12-7024] ranger: fix small thinko in fur_list constructor

Aldy Hernandez aldyh@gcc.gnu.org
Thu Feb 3 14:49:02 GMT 2022


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

commit r12-7024-gf544e5efaf2747ee2add3d408cc2f216433ba617
Author: Aldy Hernandez <aldyh@redhat.com>
Date:   Thu Feb 3 15:45:55 2022 +0100

    ranger: fix small thinko in fur_list constructor
    
    The fur_list constructor for two ranges is leaving [1] in an undefined
    state.  The reason we haven't noticed is because after all the
    shuffling in the last cycle there are no remaining users of it
    (similarly for fur_list(unsigned, irange *)).
    
    Since it's very late in the cycle, I would prefer to fix this, rather
    than removing unused constructors altogether.  Besides, we have uses
    of them queued up for the next release.
    
    gcc/ChangeLog:
    
            * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.

Diff:
---
 gcc/gimple-range-fold.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/gimple-range-fold.cc b/gcc/gimple-range-fold.cc
index d70f6a2e8c8..5133a430f25 100644
--- a/gcc/gimple-range-fold.cc
+++ b/gcc/gimple-range-fold.cc
@@ -243,7 +243,7 @@ fur_list::fur_list (irange &r1, irange &r2) : fur_source (NULL)
   m_index = 0;
   m_limit = 2;
   m_local[0] = r1;
-  m_local[0] = r2;
+  m_local[1] = r2;
 }
 
 // Arbitrary number of ranges in a vector.


More information about the Gcc-cvs mailing list