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