[Ada] Improvements to implementation of Ada_2020 attribute Reduce
authorEd Schonberg <schonberg@adacore.com>
Sun, 28 Jun 2020 19:11:33 +0000 (15:11 -0400)
committerPierre-Marie de Rodat <derodat@adacore.com>
Fri, 16 Oct 2020 07:31:26 +0000 (03:31 -0400)
commit6d0dedfa0b2141a7f6fa94ebec3f2d7249593a0d
tree784cf977c10a84f94ae36a9a3105bf77bcb9ecd5
parent263bb39332e927de70f50cef55d0bbe6a8a104a1
[Ada] Improvements to implementation of Ada_2020 attribute Reduce

gcc/ada/

* sem_attr.adb (Min_Max): Handle the case where attribute
name (qualified by required type) appears as the reducer of a
'Reduce attribute reference.
(Resolve_Attribute) <Reduce>: Handle properly the presence of a
procedure or an attribute reference Min/Max as a reducer.
* exp_attr.adb (Expand_Attribute_Reference) <Reduce>: New
subprogram Build_Stat, to construct the combining statement
which appears in the generated loop for Reduce, and which is
either a function call when the reducer is a function or an
attribute, or a procedure call when reducer is an appropriate
procedure.  BuilD_Stat is used both when the prefix of 'Reduce
is a value sequence and when it is an object
gcc/ada/exp_attr.adb
gcc/ada/sem_attr.adb