[Bug ada/50294] ICE in output_constructor_regular_field
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Sep 6 08:32:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50294
--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-09-06 08:31:56 UTC ---
My idea with fixing the Ada issue would be to conditionally use a signed
or unsigned (sizetype) domain type. Not sure if all of the middle-end
copes well with ssizetype domains (but well, we should fix it then).
Of course that wouldn't fix use of an even larger domain type
such as Unsigned_128_T is mod 2 ** 128 and appropriate large constants.
But I see several special-cases in the Gigi code that tries to handle
overflow situations.
Thus, I think we ideally should allow any kind of integer type in
TYPE_DOMAIN, not just sizetype variants. But that's of course an even
bigger change.
Sidenote: my idea was to remove special-casings of TYPE_IS_SIZETYPE from
folders but have a few special-cases explicit in size_binop so we know
the definite context from which they are invoked (like from stor-layout).
That's much better than to expose the special-casing from random
optimization passes that happen to call into fold.
More information about the Gcc-bugs
mailing list