diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-01 14:31:20 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-01 14:31:20 +0000 |
commit | 5145ea0833aea8a8ab562e4556ec6ec7271b5955 (patch) | |
tree | 57d5f2429f8a62011a2db25fc2155db30eea6d76 /gcc/ada/sem_aggr.adb | |
parent | 6b3195652c544da563f993c980839f6a1d86f99f (diff) | |
download | gcc-5145ea0833aea8a8ab562e4556ec6ec7271b5955.tar.gz |
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
* einfo.ads (Has_Private_Ancestor): Remove obsolete usage.
* exp_ch4.adb (Expand_Composite_Equality): Add conversion
of the actuals in the case of untagged record types too.
* sem_ch3.adb (Build_Full_Derivation): New procedure to create the
full derivation of a derived private type, extracted from...
(Copy_And_Build): In the case of record types and most
enumeration types, copy the original declaration. Build the
full derivation according to the approach extracted from...
(Build_Derived_Private_Type): ...here. Call Build_Full_Derivation
to create the full derivation in all existing cases and also
create it in the no-discriminants/discriminants case instead of
deriving directly from the full view.
(Is_Visible_Component): Remove obsolete code.
* sem_aggr.adb (Resolve_Record_Aggregate): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213476 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_aggr.adb')
-rw-r--r-- | gcc/ada/sem_aggr.adb | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/gcc/ada/sem_aggr.adb b/gcc/ada/sem_aggr.adb index 2c450c572f1..5a0fb100f52 100644 --- a/gcc/ada/sem_aggr.adb +++ b/gcc/ada/sem_aggr.adb @@ -3984,21 +3984,6 @@ package body Sem_Aggr is -- Typ is not a derived tagged type else - -- A type derived from an untagged private type whose full view - -- has discriminants is constructed as a record type but there - -- are no legal aggregates for it. - - if Is_Derived_Type (Typ) - and then Has_Private_Ancestor (Typ) - and then Nkind (N) /= N_Extension_Aggregate - then - Error_Msg_Node_2 := Base_Type (Etype (Typ)); - Error_Msg_NE - ("no aggregate available for type& derived from " - & "private type&", N, Typ); - return; - end if; - Record_Def := Type_Definition (Parent (Base_Type (Typ))); if Null_Present (Record_Def) then |