[Ada] Get rid of more references to Universal_Integer in expanded code
authorEric Botcazou <ebotcazou@adacore.com>
Sun, 22 Dec 2019 18:37:20 +0000 (19:37 +0100)
committerPierre-Marie de Rodat <derodat@adacore.com>
Tue, 2 Jun 2020 08:58:20 +0000 (04:58 -0400)
commit6a987d785122fb015aac527e927818bdc9975a7b
treea81f8f86b9718d479b7f992bc38ea84d4f38b6d7
parent7b976a0de9d9e130a546dc637ddd52540a577f18
[Ada] Get rid of more references to Universal_Integer in expanded code

2020-06-02  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

* exp_aggr.adb (Others_Check): In the positional case, use the
general expression for the comparison only when needed.
* exp_attr.adb (Expand_Fpt_Attribute;): Use a simple conversion
to the target type instead of an unchecked conversion to the
base type to do the range check, as in the other cases.
(Expand_N_Attribute_Reference) <Attribute_Storage_Size>: Do the
Max operation in the type of the storage size variable, and use
Convert_To as in the other cases.
* tbuild.adb (Convert_To): Do not get rid of an intermediate
conversion to Universal_Integer here...
* sem_res.adb  (Simplify_Type_Conversion): ...but here instead.
gcc/ada/exp_aggr.adb
gcc/ada/exp_attr.adb
gcc/ada/sem_res.adb
gcc/ada/tbuild.adb