diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-06 13:57:33 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-06 13:57:33 +0000 |
commit | 5c99c290e017aced8ef378745fd0070ec80894af (patch) | |
tree | 242c4d5505932ff31c97e368e02a5597dee1c5a9 /gcc/ada/exp_ch7.adb | |
parent | 6b122edbab8bb1030b2f9286dfdbdaa9a629707c (diff) | |
download | gcc-5c99c290e017aced8ef378745fd0070ec80894af.tar.gz |
2004-07-06 Vincent Celier <celier@gnat.com>
* vms_conv.ads: Minor reformatting.
Alphabetical order for enumerated values of type Command_Type, to have
the command in alphabetical order for the usage.
* vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for
the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters).
* gnat_ugn.texi: Document new switch -dn for the GNAT driver.
* makegpr.adb (Global_Archive_Exists): New global Boolean variable
(Add_Archive_Path): Only add the global archive if there is one.
(Build_Global_Archive): Set Global_Archive_Exists depending if there is
or not any object file to put in the global archive, and don't build
a global archive if there is none.
(X_Switches): New table
(Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored
in the X_Switches table, if any.
(Initialize): Make sure the X_Switches table is empty
(Scan_Arg): Record -X switches in table X_Switches
* opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False.
* make.adb: Minor comment fix
* gnatname.adb (Gnatname): When not on VMS, and gnatname has been
invoked with directory information, add the directory in front of the
path.
* gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been
invoked with directory information, add the directory in front of the
path.
* gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files
when Keep_Temporary_Files is False.
(GNATCmd): When not on VMS, and the GNAT driver has been invoked with
directory information, add the directory in front of the path.
When not on VMS, handle new switch -dn before the command to set
Keep_Temporary_Files to True.
(Non_VMS_Usage): Use lower case for the non VMS usage: this is valid
everywhere.
* gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been
invoked with directory information, add the directory in front of the
path.
2004-07-06 Thomas Quinot <quinot@act-europe.fr>
* snames.ads, snames.adb (Name_Stub): New name for the distributed
systems annex.
* rtsfind.ads: New RTE TC_Object, for DSA/PolyORB.
New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA.
* g-socket.adb (To_Timeval): Fix incorrect conversion of
Selector_Duration to Timeval for the case of 0.0.
* exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of
documentation from Evolve_And_Then.
2004-07-06 Jose Ruiz <ruiz@act-europe.fr>
* s-taprop-tru64.adb, s-taprop-os2.adb,
s-taprop-mingw.adb, s-taprop-posix.adb: Update comment.
2004-07-06 Robert Dewar <dewar@gnat.com>
* s-osinte-hpux.ads, s-osinte-freebsd.ads,
s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads,
s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb,
s-interr-sigaction.adb, s-taprop-irix-athread.adb,
s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb,
s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb,
s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb,
a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb,
a-tags.ads, bindgen.ads, checks.adb, checks.adb,
csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb,
exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb,
g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb,
i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb,
sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb,
sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb,
sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads,
s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads,
s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb,
s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb,
vms_data.ads: Minor reformatting,
Fix bad box comment format.
* gnat_rm.texi: Fix minor grammatical error
* sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values
* sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many
more cases of discriminated records to be recognized as not needing a
secondary stack.
(Has_Access_Values): New function.
* snames.h, snames.adb, snames.ads: New attribute Has_Access_Values
* cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name
Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence
with LRM terminology).
Change terminology in comments primitive type => elementary type.
2004-07-06 Ed Schonberg <schonberg@gnat.com>
PR ada/15602
* sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal
parameters do not impose any requirements on the presence of a body.
2004-07-06 Ed Schonberg <schonberg@gnat.com>
PR ada/15593
* sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a
compilation unit and is in an open scope at the point of instantiation,
assume that a body may be present later.
2004-07-06 Ed Schonberg <schonberg@gnat.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size):
Improve error message when specified size is not supported.
* sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram
is never a primitive operation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84152 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/exp_ch7.adb')
-rw-r--r-- | gcc/ada/exp_ch7.adb | 99 |
1 files changed, 38 insertions, 61 deletions
diff --git a/gcc/ada/exp_ch7.adb b/gcc/ada/exp_ch7.adb index 426658564e2..a6567aa4cda 100644 --- a/gcc/ada/exp_ch7.adb +++ b/gcc/ada/exp_ch7.adb @@ -130,8 +130,7 @@ package body Exp_Ch7 is Is_Master : Boolean; Is_Protected_Subprogram : Boolean; Is_Task_Allocation_Block : Boolean; - Is_Asynchronous_Call_Block : Boolean) - return Node_Id; + Is_Asynchronous_Call_Block : Boolean) return Node_Id; -- Expand a the clean-up procedure for controlled and/or transient -- block, and/or task master or task body, or blocks used to -- implement task allocation or asynchronous entry calls, or @@ -153,8 +152,7 @@ package body Exp_Ch7 is function Make_Transient_Block (Loc : Source_Ptr; - Action : Node_Id) - return Node_Id; + Action : Node_Id) return Node_Id; -- Create a transient block whose name is Scope, which is also a -- controlled block if Flist is not empty and whose only code is -- Action (either a single statement or single declaration). @@ -184,8 +182,7 @@ package body Exp_Ch7 is function Make_Deep_Proc (Prim : Final_Primitives; Typ : Entity_Id; - Stmts : List_Id) - return Node_Id; + Stmts : List_Id) return Node_Id; -- This function generates the tree for Deep_Initialize, Deep_Adjust -- or Deep_Finalize procedures according to the first parameter, -- these procedures operate on the type Typ. The Stmts parameter @@ -193,8 +190,7 @@ package body Exp_Ch7 is function Make_Deep_Array_Body (Prim : Final_Primitives; - Typ : Entity_Id) - return List_Id; + Typ : Entity_Id) return List_Id; -- This function generates the list of statements for implementing -- Deep_Initialize, Deep_Adjust or Deep_Finalize procedures -- according to the first parameter, these procedures operate on the @@ -202,8 +198,7 @@ package body Exp_Ch7 is function Make_Deep_Record_Body (Prim : Final_Primitives; - Typ : Entity_Id) - return List_Id; + Typ : Entity_Id) return List_Id; -- This function generates the list of statements for implementing -- Deep_Initialize, Deep_Adjust or Deep_Finalize procedures -- according to the first parameter, these procedures operate on the @@ -230,8 +225,7 @@ package body Exp_Ch7 is function Convert_View (Proc : Entity_Id; Arg : Node_Id; - Ind : Pos := 1) - return Node_Id; + Ind : Pos := 1) return Node_Id; -- Proc is one of the Initialize/Adjust/Finalize operations, and -- Arg is the argument being passed to it. Ind indicates which -- formal of procedure Proc we are trying to match. This function @@ -503,8 +497,7 @@ package body Exp_Ch7 is function Cleanup_Array (N : Node_Id; Obj : Node_Id; - Typ : Entity_Id) - return List_Id + Typ : Entity_Id) return List_Id is Loc : constant Source_Ptr := Sloc (N); Index_List : constant List_Id := New_List; @@ -601,8 +594,7 @@ package body Exp_Ch7 is function Cleanup_Record (N : Node_Id; Obj : Node_Id; - Typ : Entity_Id) - return List_Id + Typ : Entity_Id) return List_Id is Loc : constant Source_Ptr := Sloc (N); Tsk : Node_Id; @@ -671,14 +663,13 @@ package body Exp_Ch7 is return Stmts; end Cleanup_Record; - ------------------------------- - -- Cleanup_Protected_Object -- - ------------------------------- + ------------------------------ + -- Cleanup_Protected_Object -- + ------------------------------ function Cleanup_Protected_Object - (N : Node_Id; - Ref : Node_Id) - return Node_Id + (N : Node_Id; + Ref : Node_Id) return Node_Id is Loc : constant Source_Ptr := Sloc (N); @@ -747,9 +738,8 @@ package body Exp_Ch7 is ------------------ function Cleanup_Task - (N : Node_Id; - Ref : Node_Id) - return Node_Id + (N : Node_Id; + Ref : Node_Id) return Node_Id is Loc : constant Source_Ptr := Sloc (N); begin @@ -852,12 +842,12 @@ package body Exp_Ch7 is -- If type is not frozen yet, check explicitly among its components, -- because flag is not necessarily set. - ------------------------------------ - -- Has_Some_Controlled_Component -- - ------------------------------------ + ----------------------------------- + -- Has_Some_Controlled_Component -- + ----------------------------------- - function Has_Some_Controlled_Component (Rec : Entity_Id) - return Boolean + function Has_Some_Controlled_Component + (Rec : Entity_Id) return Boolean is Comp : Entity_Id; @@ -966,8 +956,7 @@ package body Exp_Ch7 is function Convert_View (Proc : Entity_Id; Arg : Node_Id; - Ind : Pos := 1) - return Node_Id + Ind : Pos := 1) return Node_Id is Fent : Entity_Id := First_Entity (Proc); Ftyp : Entity_Id; @@ -1424,9 +1413,8 @@ package body Exp_Ch7 is Len_Ref : Node_Id := Empty; function Last_Array_Component - (Ref : Node_Id; - Typ : Entity_Id) - return Node_Id; + (Ref : Node_Id; + Typ : Entity_Id) return Node_Id; -- Creates a reference to the last component of the array object -- designated by Ref whose type is Typ. @@ -1435,9 +1423,8 @@ package body Exp_Ch7 is -------------------------- function Last_Array_Component - (Ref : Node_Id; - Typ : Entity_Id) - return Node_Id + (Ref : Node_Id; + Typ : Entity_Id) return Node_Id is Index_List : constant List_Id := New_List; @@ -1685,9 +1672,8 @@ package body Exp_Ch7 is --------------------- function Find_Final_List - (E : Entity_Id; - Ref : Node_Id := Empty) - return Node_Id + (E : Entity_Id; + Ref : Node_Id := Empty) return Node_Id is Loc : constant Source_Ptr := Sloc (Ref); S : Entity_Id; @@ -2020,8 +2006,7 @@ package body Exp_Ch7 is (Ref : Node_Id; Typ : Entity_Id; Flist_Ref : Node_Id; - With_Attach : Node_Id) - return List_Id + With_Attach : Node_Id) return List_Id is Loc : constant Source_Ptr := Sloc (Ref); Res : constant List_Id := New_List; @@ -2131,10 +2116,9 @@ package body Exp_Ch7 is -- System.FI.Attach_To_Final_List (Flist, Ref, Nb_Link) function Make_Attach_Call - (Obj_Ref : Node_Id; - Flist_Ref : Node_Id; - With_Attach : Node_Id) - return Node_Id + (Obj_Ref : Node_Id; + Flist_Ref : Node_Id; + With_Attach : Node_Id) return Node_Id is Loc : constant Source_Ptr := Sloc (Obj_Ref); @@ -2170,8 +2154,7 @@ package body Exp_Ch7 is Is_Master : Boolean; Is_Protected_Subprogram : Boolean; Is_Task_Allocation_Block : Boolean; - Is_Asynchronous_Call_Block : Boolean) - return Node_Id + Is_Asynchronous_Call_Block : Boolean) return Node_Id is Loc : constant Source_Ptr := Sloc (Clean); Stmt : constant List_Id := New_List; @@ -2477,8 +2460,7 @@ package body Exp_Ch7 is function Make_Deep_Array_Body (Prim : Final_Primitives; - Typ : Entity_Id) - return List_Id + Typ : Entity_Id) return List_Id is Loc : constant Source_Ptr := Sloc (Typ); @@ -2588,8 +2570,7 @@ package body Exp_Ch7 is function Make_Deep_Proc (Prim : Final_Primitives; Typ : Entity_Id; - Stmts : List_Id) - return Entity_Id + Stmts : List_Id) return Entity_Id is Loc : constant Source_Ptr := Sloc (Typ); Formals : List_Id; @@ -2664,8 +2645,7 @@ package body Exp_Ch7 is function Make_Deep_Record_Body (Prim : Final_Primitives; - Typ : Entity_Id) - return List_Id + Typ : Entity_Id) return List_Id is Loc : constant Source_Ptr := Sloc (Typ); Controller_Typ : Entity_Id; @@ -2767,8 +2747,7 @@ package body Exp_Ch7 is function Make_Final_Call (Ref : Node_Id; Typ : Entity_Id; - With_Detach : Node_Id) - return List_Id + With_Detach : Node_Id) return List_Id is Loc : constant Source_Ptr := Sloc (Ref); Res : constant List_Id := New_List; @@ -2893,8 +2872,7 @@ package body Exp_Ch7 is (Ref : Node_Id; Typ : Entity_Id; Flist_Ref : Node_Id; - With_Attach : Node_Id) - return List_Id + With_Attach : Node_Id) return List_Id is Loc : constant Source_Ptr := Sloc (Ref); Is_Conc : Boolean; @@ -3012,8 +2990,7 @@ package body Exp_Ch7 is function Make_Transient_Block (Loc : Source_Ptr; - Action : Node_Id) - return Node_Id + Action : Node_Id) return Node_Id is Flist : constant Entity_Id := Finalization_Chain_Entity (Current_Scope); Decls : constant List_Id := New_List; |