This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/37387] [4.4 Regression] ICE in extract_range_from_binary_expr, at tree-vrp.c:2145



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]