[Ada] Factor out machine rounding operations
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 13 Oct 2021 18:50:28 +0000 (20:50 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Wed, 20 Oct 2021 10:17:05 +0000 (10:17 +0000)
commit60440d3cf51acb9cb63543d5bb71fd50cfdd9470
tree0c2192593e8843d65666156b6102cd3f8d5c202c
parent931d4819f740ade9707436447b6d7a1148d65d54
[Ada] Factor out machine rounding operations

gcc/ada/

* sem_eval.ads (Machine_Number): New inline function.
* sem_eval.adb (Machine_Number): New function body implementing
the machine rounding operation specified by RM 4.9(38/2).
(Check_Non_Static_Context): Call Machine_Number and set the
Is_Machine_Number flag consistently on the resulting node.
* sem_attr.adb (Eval_Attribute) <Attribute_Machine>: Likewise.
* checks.adb (Apply_Float_Conversion_Check): Call Machine_Number.
(Round_Machine): Likewise.
gcc/ada/checks.adb
gcc/ada/sem_attr.adb
gcc/ada/sem_eval.adb
gcc/ada/sem_eval.ads