------- Comment #3 from pinskia at gcc dot gnu dot org  2008-09-06 21:59 -------
Further reduced testcase:
typedef long int Int;
void FuncMakeConsequencesPres (long *objDefs1)
{
  long a = (long)objDefs1;
  int c = a & 0x01;
  int b = 0;
  if (!  ( 13 <= ( c ? 0 : (((int) objDefs1 & 0x02) ? 0 : *objDefs1  ))
           && b <= 0))
    ErrorQuit ();
}

--- CUT ---
ifcombine causes the invalid IR to show up:
  D.1597_10 = objDefs1_1(D) & 3B;
objDefs1 is a pointer.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|0000-00-00 00:00:00         |2008-09-06 21:59:00
               date|                            |
   Target Milestone|---                         |4.4.0


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

Reply via email to