summaryrefslogtreecommitdiff
path: root/gcc/ada/exp_ch9.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-12 11:45:26 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-12 11:45:26 +0000
commitb5ff3ed8b1db3c73947d1ec66fc199192bc37c11 (patch)
tree9a40f2549e1bdb5877d519b870509751de706702 /gcc/ada/exp_ch9.adb
parent7c63d70b926a0383da6f17734537f62420900c17 (diff)
downloadgcc-b5ff3ed8b1db3c73947d1ec66fc199192bc37c11.tar.gz
2004-01-12 Laurent Pautet <pautet@act-europe.fr>
* 3vsocthi.adb, 3vsocthi.ads, 3wsocthi.adb, 3wsocthi.ads, 3zsocthi.adb, 3zsocthi.ads, g-socthi.adb, g-socthi.ads (Socket_Error_Message): Return C.Strings.chars_ptr instead of String. * g-socket.adb (Raise_Socket_Error): Use new Socket_Error_Message signature. 2004-01-12 Javier Miranda <miranda@gnat.com> * cstand.adb, exp_aggr.adb, exp_ch3.adb, exp_ch9.adb, exp_dist.adb, exp_imgv.adb, exp_pakd.adb, exp_util.adb, par-ch3.adb, sem.adb, sem_ch3.adb, sem_dist.adb, sem_prag.adb, sem_res.adb, sem_util.adb, sinfo.adb, sinfo.ads, sprint.adb: Addition of Component_Definition node. 2004-01-12 Ed Falis <falis@gnat.com> * impunit.adb: Add GNAT.Secondary_Stack_Info as user-visible unit 2004-01-12 Thomas Quinot <quinot@act-europe.fr> * link.c: Change default libgnat kind to STATIC for FreeBSD. 2004-01-12 Ed Schonberg <schonberg@gnat.com> * lib-xref.adb (Get_Type_Reference): If the type is the subtype entity generated to rename a generic actual, go to the actual itself, the subtype is not a user-visible entity. * sem_ch7.adb (Uninstall_Declarations): If an entity in the visible part is a private subtype, reset the visibility of its full view, if any, to be consistent. 2004-01-12 Robert Dewar <dewar@gnat.com> * trans.c (Eliminate_Error_Msg): New procedure called to generate msg * usage.adb: Remove mention of obsolete -gnatwb switch Noticed during code reading 2004-01-12 Jerome Guitton <guitton@act-europe.fr> * 1ssecsta.adb: Minor changes for -gnatwa warnings 2004-01-12 GNAT Script <nobody@gnat.com> * Make-lang.in: Makefile automatically updated git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75714 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_ch9.adb')
-rw-r--r--gcc/ada/exp_ch9.adb91
1 files changed, 64 insertions, 27 deletions
diff --git a/gcc/ada/exp_ch9.adb b/gcc/ada/exp_ch9.adb
index e77b3cd60c7..2db7c839145 100644
--- a/gcc/ada/exp_ch9.adb
+++ b/gcc/ada/exp_ch9.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2003, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2004, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -2611,8 +2611,11 @@ package body Exp_Ch9 is
(Etype (Discrete_Subtype_Definition
(Parent (Efam)))), Loc))),
- Subtype_Indication =>
- New_Reference_To (Standard_Character, Loc)));
+ Component_Definition =>
+ Make_Component_Definition (Loc,
+ Aliased_Present => False,
+ Subtype_Indication =>
+ New_Reference_To (Standard_Character, Loc))));
Insert_After (Current_Node, Efam_Decl);
Current_Node := Efam_Decl;
@@ -2623,17 +2626,21 @@ package body Exp_Ch9 is
Defining_Identifier =>
Make_Defining_Identifier (Loc, Chars (Efam)),
- Subtype_Indication =>
- Make_Subtype_Indication (Loc,
- Subtype_Mark =>
- New_Occurrence_Of (Efam_Type, Loc),
+ Component_Definition =>
+ Make_Component_Definition (Loc,
+ Aliased_Present => False,
+ Subtype_Indication =>
+ Make_Subtype_Indication (Loc,
+ Subtype_Mark =>
+ New_Occurrence_Of (Efam_Type, Loc),
+ Constraint =>
+ Make_Index_Or_Discriminant_Constraint (Loc,
+ Constraints => New_List (
+ New_Occurrence_Of
+ (Etype (Discrete_Subtype_Definition
+ (Parent (Efam))), Loc)))))));
+
- Constraint =>
- Make_Index_Or_Discriminant_Constraint (Loc,
- Constraints => New_List (
- New_Occurrence_Of
- (Etype (Discrete_Subtype_Definition
- (Parent (Efam))), Loc))))));
end if;
Next_Entity (Efam);
@@ -3265,14 +3272,19 @@ package body Exp_Ch9 is
Make_Component_Declaration (Loc,
Defining_Identifier =>
Make_Defining_Identifier (Loc, New_Internal_Name ('P')),
- Subtype_Indication =>
- New_Occurrence_Of (RTE (RE_Address), Loc)),
+ Component_Definition =>
+ Make_Component_Definition (Loc,
+ Aliased_Present => False,
+ Subtype_Indication =>
+ New_Occurrence_Of (RTE (RE_Address), Loc))),
Make_Component_Declaration (Loc,
Defining_Identifier =>
Make_Defining_Identifier (Loc, New_Internal_Name ('S')),
- Subtype_Indication =>
- New_Occurrence_Of (D_T2, Loc)));
+ Component_Definition =>
+ Make_Component_Definition (Loc,
+ Aliased_Present => False,
+ Subtype_Indication => New_Occurrence_Of (D_T2, Loc))));
Decl2 :=
Make_Full_Type_Declaration (Loc,
@@ -4668,7 +4680,10 @@ package body Exp_Ch9 is
Append_To (Components,
Make_Component_Declaration (Loc,
Defining_Identifier => Component,
- Subtype_Indication => New_Reference_To (Ctype, Loc)));
+ Component_Definition =>
+ Make_Component_Definition (Loc,
+ Aliased_Present => False,
+ Subtype_Indication => New_Reference_To (Ctype, Loc))));
Next_Formal_With_Extras (Formal);
end loop;
@@ -5227,8 +5242,10 @@ package body Exp_Ch9 is
Make_Component_Declaration (Loc,
Defining_Identifier =>
Make_Defining_Identifier (Loc, Name_uObject),
- Aliased_Present => True,
- Subtype_Indication => Protection_Subtype);
+ Component_Definition =>
+ Make_Component_Definition (Loc,
+ Aliased_Present => True,
+ Subtype_Indication => Protection_Subtype));
end;
pragma Assert (Present (Pdef));
@@ -5246,8 +5263,13 @@ package body Exp_Ch9 is
Make_Component_Declaration (Loc,
Defining_Identifier =>
Make_Defining_Identifier (Sloc (Pent), Chars (Pent)),
- Subtype_Indication =>
- New_Copy_Tree (Subtype_Indication (Priv), Discr_Map),
+ Component_Definition =>
+ Make_Component_Definition (Sloc (Pent),
+ Aliased_Present => False,
+ Subtype_Indication =>
+ New_Copy_Tree (Subtype_Indication
+ (Component_Definition (Priv)),
+ Discr_Map)),
Expression => Expression (Priv));
Append_To (Cdecls, New_Priv);
@@ -7175,7 +7197,11 @@ package body Exp_Ch9 is
Make_Component_Declaration (Loc,
Defining_Identifier =>
Make_Defining_Identifier (Loc, Name_uTask_Id),
- Subtype_Indication => New_Reference_To (RTE (RO_ST_Task_ID), Loc)));
+ Component_Definition =>
+ Make_Component_Definition (Loc,
+ Aliased_Present => False,
+ Subtype_Indication => New_Reference_To (RTE (RO_ST_Task_ID),
+ Loc))));
-- Add components for entry families
@@ -7216,7 +7242,11 @@ package body Exp_Ch9 is
Make_Component_Declaration (Loc,
Defining_Identifier =>
Make_Defining_Identifier (Loc, Name_uPriority),
- Subtype_Indication => New_Reference_To (Standard_Integer, Loc),
+ Component_Definition =>
+ Make_Component_Definition (Loc,
+ Aliased_Present => False,
+ Subtype_Indication => New_Reference_To (Standard_Integer,
+ Loc)),
Expression => Expr));
end;
end if;
@@ -7231,7 +7261,11 @@ package body Exp_Ch9 is
Defining_Identifier =>
Make_Defining_Identifier (Loc, Name_uSize),
- Subtype_Indication => New_Reference_To (RTE (RE_Size_Type), Loc),
+ Component_Definition =>
+ Make_Component_Definition (Loc,
+ Aliased_Present => False,
+ Subtype_Indication => New_Reference_To (RTE (RE_Size_Type),
+ Loc)),
Expression =>
Convert_To (RTE (RE_Size_Type),
@@ -7249,8 +7283,11 @@ package body Exp_Ch9 is
Make_Component_Declaration (Loc,
Defining_Identifier =>
Make_Defining_Identifier (Loc, Name_uTask_Info),
- Subtype_Indication =>
- New_Reference_To (RTE (RE_Task_Info_Type), Loc),
+ Component_Definition =>
+ Make_Component_Definition (Loc,
+ Aliased_Present => False,
+ Subtype_Indication =>
+ New_Reference_To (RTE (RE_Task_Info_Type), Loc)),
Expression => New_Copy (
Expression (First (
Pragma_Argument_Associations (