diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-07-20 15:18:34 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2009-07-20 15:18:34 +0200 |
commit | ff7139c31731ce5c68ee23ad3d3fee52f1b2bb52 (patch) | |
tree | 6d0d286c708ed3fff7533ab8f04416f1b91f3d68 /gcc/ada/sem_ch3.ads | |
parent | 6fb4cddeee68c3284e62389aadc9e505092c11a9 (diff) | |
download | gcc-ff7139c31731ce5c68ee23ad3d3fee52f1b2bb52.zip gcc-ff7139c31731ce5c68ee23ad3d3fee52f1b2bb52.tar.gz gcc-ff7139c31731ce5c68ee23ad3d3fee52f1b2bb52.tar.bz2 |
[multiple changes]
2009-07-20 Vadim Godunko <godunko@adacore.com>
* a-coorma.adb: Minor reformatting.
2009-07-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch3 (Build_Itype_Reference): Make public, for use on non-null
access return types.
* sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype,
provide an itype reference to gigi to force elaboration of the subtype
at the proper point.
2009-07-20 Tristan Gingold <gingold@adacore.com>
* g-expect.adb: Avoid closeing already closed handle.
2009-07-20 Robert Dewar <dewar@adacore.com>
* sprint.adb (Write_Subprogram_Name): New procedure to output
subprogram name with possible preceding $ (replaces
Note_Implicit_Run_Time_Call).
From-SVN: r149812
Diffstat (limited to 'gcc/ada/sem_ch3.ads')
-rw-r--r-- | gcc/ada/sem_ch3.ads | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch3.ads b/gcc/ada/sem_ch3.ads index c8fc885..6c7dbaa 100644 --- a/gcc/ada/sem_ch3.ads +++ b/gcc/ada/sem_ch3.ads @@ -79,6 +79,21 @@ package Sem_Ch3 is procedure Access_Type_Declaration (T : Entity_Id; Def : Node_Id); -- Process an access type declaration + procedure Build_Itype_Reference + (Ityp : Entity_Id; + Nod : Node_Id); + -- Create a reference to an internal type, for use by Gigi. The back-end + -- elaborates itypes on demand, i.e. when their first use is seen. This + -- can lead to scope anomalies if the first use is within a scope that is + -- nested within the scope that contains the point of definition of the + -- itype. The Itype_Reference node forces the elaboration of the itype + -- in the proper scope. The node is inserted after Nod, which is the + -- enclosing declaration that generated Ityp. + -- + -- A related mechanism is used during expansion, for itypes created in + -- branches of conditionals. See Ensure_Defined in exp_util. + -- Could both mechanisms be merged ??? + procedure Check_Abstract_Overriding (T : Entity_Id); -- Check that all abstract subprograms inherited from T's parent type -- have been overridden as required, and that nonabstract subprograms |