extern void baz (float);

inline bool
bar (float x)
{
  union { float f; int i; } u;
  u.f = x;
  return (u.i & 1);
}

void
foo (float *x)
{
  for (int i = 0; i < 10; i++)
    {
      float f = x[i];
      if (!bar (f))  
        baz (f);   
    }
}

ICEs in trunc_int_for_mode at -O2/-O3.


-- 
           Summary: [4.4/4.5 Regression] ICE in trunc_int_for_mode
           Product: gcc
           Version: 4.4.1
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: major
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: x86_64-linux


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

Reply via email to