This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Bootstrap failure on trunk: x86_64-linux-gnu
> Basically with the way Ada's setting of TYPE_MIN_VALUE/TYPE_MAX_VALUE
> effectively makes them useless as we can not rely on them to
> actually reflect the set of values allowed in an object.
Sorry, but why are you saying "we can not rely on them to actually reflect the
set of values allowed in an object"? I think we can. My understanding is
that the only subtlety with Ada is the TYPE_PRECISION thing, as you've
written in your patch:
+ /* Ada creates sub-types where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not
+ cover the entire range of values allowed by TYPE_PRECISION.
+
+ We do not want to optimize away conversions to such types. Long
+ term I'd rather see the Ada front-end fixed. */
The obvious question would then be, why bother with TYPE_MIN_VALUE and
TYPE_MAX_VALUE if they can be directly deduced from TYPE_PRECISION and
TYPE_UNSIGNED? How do you represent subtypes with non-canonical bounds?
--
Eric Botcazou