From 5145ea0833aea8a8ab562e4556ec6ec7271b5955 Mon Sep 17 00:00:00 2001 From: charlet Date: Fri, 1 Aug 2014 14:31:20 +0000 Subject: 2014-08-01 Eric Botcazou * 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 --- gcc/ada/sem_aggr.adb | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'gcc/ada/sem_aggr.adb') 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 -- cgit v1.2.1