[Bug tree-optimization/27548] [4.2 regression] ICE: SSA corruption - Conflict across an abnormal edge

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu May 11 09:22:00 GMT 2006



------- Comment #3 from pinskia at gcc dot gnu dot org  2006-05-11 09:22 -------
This is a SCCP issue:
--- t.cc.073t.lim       2006-05-11 02:21:50.000000000 -0700
+++ t.cc.075t.sccp      2006-05-11 02:21:50.000000000 -0700
@@ -53,8 +53,8 @@ void f(int&) (to_be_zapped)
 <L16>:;
   goto <bb 6> (<L7>);

-  # i_29 = PHI <i_40(6)>;
 <L17>:;
+  i_29 = NewMins$maxdex_2(ab);

   # i_7 = PHI <i_29(8), 1(4)>;
 <L9>:;

-----
Reduced testcase:
void g(void);
struct Array
{
    int mindex, maxdex;
    int InsertAt (const int & t, int n)
    {
        int *new_data = new int[++this->maxdex - this->mindex + 1];
        int i;
        for (i = this->mindex; i <= n - 1; i++)
            new_data[i] = 1;
        new_data[i] = t;
    }
    Array (void) : mindex (1) {}
};
int NoIndices(void);
void f (int &to_be_zapped)
{
    Array NewMins;
    int i;
    try
    {
        for (i = 1; i <= NoIndices (); i++)
            NewMins.InsertAt (to_be_zapped, NewMins.maxdex);
    }catch(...) {}
    if (NewMins.maxdex >= 1)
        g();
}


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-05-11 09:22:21
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27548



More information about the Gcc-bugs mailing list