Node_Id gnat_scalar_range;
tree gnu_lb, gnu_hb, gnu_lb_minus_one;
- /* If the low bound is not constant, try to find an upper bound. */
+ /* If the low bound is not constant, take the worst case by finding an upper
+ bound for its type, repeatedly if need be. */
while (Nkind (gnat_lb) != N_Integer_Literal
&& (Ekind (Etype (gnat_lb)) == E_Signed_Integer_Subtype
|| Ekind (Etype (gnat_lb)) == E_Modular_Integer_Subtype)
|| Nkind (gnat_scalar_range) == N_Range))
gnat_lb = High_Bound (gnat_scalar_range);
- /* If the high bound is not constant, try to find a lower bound. */
+ /* If the high bound is not constant, take the worst case by finding a lower
+ bound for its type, repeatedly if need be. */
while (Nkind (gnat_hb) != N_Integer_Literal
&& (Ekind (Etype (gnat_hb)) == E_Signed_Integer_Subtype
|| Ekind (Etype (gnat_hb)) == E_Modular_Integer_Subtype)