summaryrefslogtreecommitdiff
path: root/gcc/ada/sem_aggr.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-08-01 14:31:20 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2014-08-01 14:31:20 +0000
commit5145ea0833aea8a8ab562e4556ec6ec7271b5955 (patch)
tree57d5f2429f8a62011a2db25fc2155db30eea6d76 /gcc/ada/sem_aggr.adb
parent6b3195652c544da563f993c980839f6a1d86f99f (diff)
downloadgcc-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.adb15
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