Take the following C code (and compile it at -O1 -fdelete-null-pointer-checks) :
int t(int *a)
{
  int i;
  *a = 1;
  i = a == 0;
  return i;
}

We get the wrong type for the rhs of the modify statement of i:
t1.c: In function 't':
t1.c:2: error: statement types mismatch
iD.1266_2 = 0;

intD.0
_BoolD.1063

-- 
           Summary: DOM creates missed matched types
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


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

Reply via email to