From 5c99c290e017aced8ef378745fd0070ec80894af Mon Sep 17 00:00:00 2001 From: charlet Date: Tue, 6 Jul 2004 13:57:33 +0000 Subject: 2004-07-06 Vincent Celier * 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 * 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 * s-taprop-tru64.adb, s-taprop-os2.adb, s-taprop-mingw.adb, s-taprop-posix.adb: Update comment. 2004-07-06 Robert Dewar * 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 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 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 * 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 --- gcc/ada/exp_ch7.adb | 99 ++++++++++++++++++++--------------------------------- 1 file changed, 38 insertions(+), 61 deletions(-) (limited to 'gcc/ada/exp_ch7.adb') 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; -- cgit v1.2.1