diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2015-03-04 12:51:48 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2015-03-04 12:51:48 +0100 |
commit | 85799cb98e9e3ed25eeeb43ece1c5aaea4a2a4fc (patch) | |
tree | 12299fa10bb1621d18809154eaf7f5a4370f50ae /gcc | |
parent | 47a6f66054936affc847afa61eed3d245381e58b (diff) | |
download | gcc-85799cb98e9e3ed25eeeb43ece1c5aaea4a2a4fc.zip gcc-85799cb98e9e3ed25eeeb43ece1c5aaea4a2a4fc.tar.gz gcc-85799cb98e9e3ed25eeeb43ece1c5aaea4a2a4fc.tar.bz2 |
[multiple changes]
2015-03-04 Robert Dewar <dewar@adacore.com>
* atree.h: Add entries for Flag287-Flag309.
* einfo.adb: Add (unused) flags Flag287-Flag309.
2015-03-04 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Collect_Interfaces, Collect): When gathering
interfaces of ancestors, handle properly a subtype of a private
extension.
From-SVN: r221183
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/ada/atree.h | 23 | ||||
-rw-r--r-- | gcc/ada/einfo.adb | 20 | ||||
-rw-r--r-- | gcc/ada/sem_util.adb | 8 |
4 files changed, 57 insertions, 5 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 386ae31..5c3816b 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,16 @@ 2015-03-04 Robert Dewar <dewar@adacore.com> + * atree.h: Add entries for Flag287-Flag309. + * einfo.adb: Add (unused) flags Flag287-Flag309. + +2015-03-04 Ed Schonberg <schonberg@adacore.com> + + * sem_util.adb (Collect_Interfaces, Collect): When gathering + interfaces of ancestors, handle properly a subtype of a private + extension. + +2015-03-04 Robert Dewar <dewar@adacore.com> + * einfo.adb (Is_ARECnF_Entity): New flag (ARECnF is an extra formal). (Next_Formal): Don't return ARECnF formal. (Last_Formal): Don't consider ARECnF formal. diff --git a/gcc/ada/atree.h b/gcc/ada/atree.h index 170bd95..dadfce0 100644 --- a/gcc/ada/atree.h +++ b/gcc/ada/atree.h @@ -847,6 +847,29 @@ extern Node_Id Current_Error_Node; #define Flag284(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag284) #define Flag285(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag285) #define Flag286(N) (Nodes_Ptr[(N) - First_Node_Id + 5].V.EX.U.fw5.flag286) +#define Flag287(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.in_list) +#define Flag288(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.has_aspects) +#define Flag289(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.rewrite_ins) +#define Flag290(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.analyzed +#define Flag291(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.c_f_s) +#define Flag292(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.error_posted) +#define Flag293(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag4) +#define Flag294(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag5) +#define Flag295(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag6) +#define Flag296(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag7) +#define Flag297(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag8) +#define Flag298(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag9) +#define Flag299(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag10) +#define Flag300(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag11) +#define Flag301(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag12) +#define Flag302(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag13) +#define Flag303(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag14) +#define Flag304(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag15) +#define Flag305(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag16) +#define Flag306(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag17) +#define Flag307(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.flag18) +#define Flag308(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.pflag1) +#define Flag309(N) (Nodes_Ptr[(N) - First_Node_Id + 5].U.K.pflag2) #ifdef __cplusplus } diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb index 95776da..0961b2d 100644 --- a/gcc/ada/einfo.adb +++ b/gcc/ada/einfo.adb @@ -584,12 +584,26 @@ package body Einfo is -- Is_Static_Type Flag281 -- Has_Nested_Subprogram Flag282 -- Uplevel_Reference_Noted Flag283 - -- Is_ARECnF_Entity Flag284 + -- (unused) Flag285 -- (unused) Flag286 - - -- Note: Flag287-317 are defined in atree.ads/adb, but not yet in atree.h + -- (unused) Flag287 + -- (unused) Flag288 + -- (unused) Flag289 + -- (unused) Flag300 + + -- (unused) Flag301 + -- (unused) Flag302 + -- (unused) Flag303 + -- (unused) Flag304 + -- (unused) Flag305 + -- (unused) Flag306 + -- (unused) Flag307 + -- (unused) Flag308 + -- (unused) Flag309 + + -- Note: Flag310-317 are defined in atree.ads/adb, but not yet in atree.h ----------------------- -- Local subprograms -- diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index e048e21..724a9ae 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -3516,13 +3516,17 @@ package body Sem_Util is begin Full_T := Typ; - -- Handle private types + -- Handle private types and subtypes if Use_Full_View and then Is_Private_Type (Typ) and then Present (Full_View (Typ)) then Full_T := Full_View (Typ); + + if Ekind (Full_T) = E_Record_Subtype then + Full_T := Full_View (Etype (Typ)); + end if; end if; -- Include the ancestor if we are generating the whole list of @@ -15147,7 +15151,7 @@ package body Sem_Util is -- If the entity is the loop variable in an iteration over -- a container, retrieve container expression to indicate - -- possible modificastion. + -- possible modification. if Present (Related_Expression (Ent)) and then Nkind (Parent (Related_Expression (Ent))) = |