gimplify_parameters

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Tue Dec 21 02:20:00 GMT 2004


    No, it doesn't show what you think it does.  The ICE happens because
    there's apparently a mismatch between cgraph and the inliner about
    what's legal to inline.  So we abort trying to remove the cgraph call
    edge from f to g.

I admit I didn't look at the ICE.

    Which wouldn't have affected Ada at all, so it can't be the same problem.

This isn't necessarily going to ICE, but it's going to show the case
that occurs in s-fileio.adb: where gimplify_type_sizes is getting called twice.
The fact that this case isn't complex enough for that to cause a problem
isn't the point.

Perhaps the following more complex case would show it: I can't check due
to the problem above.

int f (int a)
{
  typedef struct {int b[a]; int d;} c;
  c cs;

  int g (c c) {return c.d;};

  return g (cs) + cs.d;
}

But read my description of the problem: it should be clear.



More information about the Gcc mailing list