------- Additional Comments From jakub at gcc dot gnu dot org  2005-01-21 16:13 
-------
Simplified testcase:
extern void abort ();

__attribute__((pure)) _Complex float
foo (int x)
{
  _Complex float r;
  __real r = x + 1;
  __imag r = x - 1;
  return r;
}

void
bar (float *f)
{
  *f = foo (5);
}

int
main (void)
{
  float f;
  bar (&f);
  if (f != 6.0)
    abort ();
  return 0;
}

Likely the culprit is in libcall_dead_p.

-- 


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

Reply via email to