From 35dfee55808a49e2aba3e0ba8f49a7a04a49d464 Mon Sep 17 00:00:00 2001 From: Ed Schonberg Date: Wed, 20 Aug 2008 14:06:35 +0200 Subject: [PATCH] 2008-08-20 Ed Schonberg Revert partially previous changes, unrelated to the change at hand. From-SVN: r139271 --- gcc/ada/einfo.ads | 1 - gcc/ada/exp_aggr.adb | 4 ---- gcc/ada/exp_ch6.adb | 8 -------- gcc/ada/exp_ch9.ads | 4 +--- gcc/ada/sem_type.adb | 2 ++ 5 files changed, 3 insertions(+), 16 deletions(-) diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads index a7058747149..c7182dbe04f 100644 --- a/gcc/ada/einfo.ads +++ b/gcc/ada/einfo.ads @@ -5016,7 +5016,6 @@ package Einfo is -- Generic_Renamings (Elist23) (for an instance) -- Inner_Instances (Elist23) (generic function only) -- Protection_Object (Node23) (for concurrent kind) - -- Spec_PPC_List (Node24) -- Interface_Alias (Node25) -- Overridden_Operation (Node26) -- Wrapped_Entity (Node27) (non-generic case only) diff --git a/gcc/ada/exp_aggr.adb b/gcc/ada/exp_aggr.adb index 8a59879b0e0..bc3b954fb6c 100644 --- a/gcc/ada/exp_aggr.adb +++ b/gcc/ada/exp_aggr.adb @@ -2547,13 +2547,9 @@ package body Exp_Aggr is -- in the limited case, the ancestor part must be either a -- function call (possibly qualified, or wrapped in an unchecked -- conversion) or aggregate (definitely qualified). - -- The ancestor part can also be a function call (that may be - -- transformed into an explicit dereference) or a qualification - -- of one such. elsif Is_Limited_Type (Etype (A)) and then Nkind (Unqualify (A)) /= N_Function_Call -- aggregate? - and then Nkind (Unqualify (A)) /= N_Explicit_Dereference and then (Nkind (Unqualify (A)) /= N_Unchecked_Type_Conversion or else diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb index faefb52c6f4..4c3f3da63f9 100644 --- a/gcc/ada/exp_ch6.adb +++ b/gcc/ada/exp_ch6.adb @@ -4394,14 +4394,6 @@ package body Exp_Ch6 is Prot_Id : Entity_Id; begin - -- If the subprogram is a function with an anonymous access - -- to protected subprogram, it must be expanded to create - -- its equivalent type. - - -- if Ekind (Typ) = E_Anonymous_Access_Protected_Subprogram_Type then - -- Expand_Access_Protected_Subprogram_Type (N, Typ); - -- end if; - -- Deal with case of protected subprogram. Do not generate protected -- operation if operation is flagged as eliminated. diff --git a/gcc/ada/exp_ch9.ads b/gcc/ada/exp_ch9.ads index 3ec61125a3f..1cfa74d3635 100644 --- a/gcc/ada/exp_ch9.ads +++ b/gcc/ada/exp_ch9.ads @@ -203,9 +203,7 @@ package Exp_Ch9 is -- routine to make sure Complete_Master is called on exit). procedure Expand_Access_Protected_Subprogram_Type (N : Node_Id); - -- Build Equivalent_Type for an Access_To_Protected_Subprogram. - -- Equivalent_Type is a record type with two components: a pointer - -- to the protected object, and a pointer to the operation itself. + -- Build Equivalent_Type for an Access_to_protected_Subprogram procedure Expand_Accept_Declarations (N : Node_Id; Ent : Entity_Id); -- Expand declarations required for accept statement. See bodies of diff --git a/gcc/ada/sem_type.adb b/gcc/ada/sem_type.adb index b8dca3bf9ff..3ca2e535478 100644 --- a/gcc/ada/sem_type.adb +++ b/gcc/ada/sem_type.adb @@ -884,6 +884,8 @@ package body Sem_Type is then return True; + -- An aggregate is compatible with an array or record type + elsif T2 = Any_Composite and then Ekind (T1) in E_Array_Type .. E_Record_Subtype then -- 2.30.2