]> gcc.gnu.org Git - gcc.git/commit
[Ada] Implement AI12-0369
authorSteve Baird <baird@adacore.com>
Mon, 23 Mar 2020 23:20:17 +0000 (16:20 -0700)
committerGiuliano Belinassi <giuliano.belinassi@usp.br>
Mon, 17 Aug 2020 16:12:33 +0000 (13:12 -0300)
commit00f139e44d040b967414b6dc2d96280d09c48183
treef04c18798be8fd9ec3710058d5fdbc30337500cd
parente592626dafb886f3295c784c07a9418cd55991ad
[Ada] Implement AI12-0369

2020-06-12  Steve Baird  <baird@adacore.com>

gcc/ada/

* sem_util.ads, sem_util.adb: Define 3 new Boolean-valued
functions - Statically_Denotes_Entity,
Statically_Denotes_Object, and Statically_Names_Object. The
first two were taken from sem_attr.adb. The term "statically
names" is defined in the Ada RM and the new function
Statically_Names_Object is intended to reflect that definition,
or more precisely, as described in a comment in the code, to
reflect the expected future definition of that term.
* sem_attr.adb: Delete functions Statically_Denotes_Object and
Statically_Denotes_Entity; these two functions have been moved
to package Sem_Util. Replace call to Statically_Denotes_Object
with a call to Statically_Names_Object as per AI12-0217 (a
binding interpretation, so no Ada_Version check).
* exp_ch9.adb (Expand_Entry_Barrier.Is_Simple_Barrier): Change
name of function (it was previously Is_Simple_Barrier_Name)
because the function should return True in the case of a static
expression; implement this requirement.  Change function to
include a call to Statically_Names_Object so that, for Ada_2020
and later, it will return True for appropriate subcomponent
names.
(Expand_Entry_Barrier.Is_Pure_Barrier): Handle
N_Indexed_Component and N_Selected_Component cases by calling
Statically_Names_Object.
(Expand_Entry_Barrier): Reorganize to treat Simple_Barriers and
Pure_Barriers more uniformly.  Prevent cascaded errors.
gcc/ada/exp_ch9.adb
gcc/ada/sem_attr.adb
gcc/ada/sem_util.adb
gcc/ada/sem_util.ads
This page took 0.054136 seconds and 6 git commands to generate.