[Bug fortran/42958] Weird temporary array allocation

rguenth at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Mar 27 19:08:00 GMT 2010



------- Comment #10 from rguenth at gcc dot gnu dot org  2010-03-27 19:08 -------
The gimplifier of course transforms the COND_EXPRs back to control flow, thus
the CFG looks like

  D.1616 = D.1612 < 0;
  D.1617 = D.1612 + 1;
  if (D.1616 != 0)
    goto <bb 32>;
  else
    goto <bb 33>;

<bb 32>:
  iftmp.17 = 0;
  goto <bb 34>;

<bb 33>:
  iftmp.17 = D.1617 * 8;

<bb 34>:
  D.1618 = iftmp.17;
  D.1795 = MAX_EXPR <D.1618, 1>;
  D.1619 = __builtin_malloc (D.1795);

the question is if the check for negative size is really necessary for
compiler-generated allocations of array temporaries.


-- 


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



More information about the Gcc-bugs mailing list