diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-05-17 13:20:48 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-05-17 13:20:48 +0000 |
commit | 7f9be3624360758959cac55dff8abec8b13d7e4e (patch) | |
tree | 2b5692e6b47e044d030ae4b10881296d50e2f101 /gcc/ada/s-tassta.adb | |
parent | a9d86d5dde106b29ae985f1468c23469c793fca0 (diff) | |
download | gcc-7f9be3624360758959cac55dff8abec8b13d7e4e.tar.gz |
2004-05-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
Part of function-at-a-time conversion
* misc.c (adjust_decl_rtl): Deleted.
(LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
Define.
* gigi.h: (adjust_decl_rtl, kept_level_p, set_block): Deleted.
(add_decl_stmt, add_stmt, block_has_vars): New functions.
(gnat_pushlevel, gnat_poplevel): Renamed from pushlevel and poplevel.
* decl.c (elaborate_expression, maybe_pad_type): Call add_decl_stmt
when making a decl.
(gnat_to_gnu_entity): Likewise.
Use add_stmt to update setjmp buffer.
Set TREE_ADDRESSABLE instead of calling put_var_into_stack and
flush_addressof.
No longer call adjust_decl_rtl.
(DECL_INIT_BY_ASSIGN_P): New macro.
(DECL_STMT_VAR): Likewise.
* trans.c (gigi): Call start_block_stmt to make the outermost
BLOCK_STMT.
(gnat_to_code, gnu_to_gnu, tree_transform, process_decls, process_type):
Call start_block_stmt and end_block_stmt temporarily.
Use gnat_expand_stmt instead of expand_expr_stmt.
(add_decl_stmt): New function.
(tree_transform): Call it.
(add_stmt): Also emit initializing assignment for DECL_STMT if needed.
(end_block_stmt): Set type and NULL_STMT.
(gnat_expand_stmt): Make recursize call instead of calling
expand_expr_stmt.
(gnat_expand_stmt, case DECL_STMT): New case.
(set_lineno_from_sloc): Do nothing if global.
(gnu_block_stmt_node, gnu_block_stmt_free_list): New variables.
(start_block_stmt, add_stmt, end_block_stmt): New functions.
(build_block_stmt): Call them.
(gnat_to_code): Don't expand NULL_STMT.
(build_unit_elab): Rename pushlevel and poplevel to gnat_* and change
args.
(tree_transform): Likewise.
(tree_transform, case N_Null_Statement): Return NULL_STMT.
(gnat_expand_stmt, case NULL_STMT): New case.
(gnat_expand_stmt, case IF_STMT): Allow nested IF_STMT to have no
IF_STMT_TRUE.
* utils2.c (gnat_mark_addressable, case VAR_DECL): Do not set
TREE_ADDRESSABLE.
* utils.c (create_var_decl): Do not call expand_decl or
expand_decl_init.
Set TREE_ADDRESSABLE instead of calling gnat_mark_addressable.
Set DECL_INIT_BY_ASSIGN_P when needed and do not generate MODIFY_EXPR
here.
(struct e_stack): Add chain_next to GTY.
(struct binding_level): Deleted.
(struct ada_binding_level): New struct.
(free_block_chain): New.
(global_binding_level, clear_binding_level): Deleted.
(global_bindings_p): Rework to see if no chain.
(kept_level_p, set_block): Deleted.
(gnat_pushlevel): Renamed from pushlevel and extensive reworked to use
new data structure and work directly on BLOCK node.
(gnat_poplevel): Similarly.
(get_decls): Look at BLOCK_VARS.
(insert_block): Work directly on BLOCK node.
(block_has_var): New function.
(pushdecl): Rework for new binding structures.
(gnat_init_decl_processing): Rename and rework calls to pushlevel and
poplevel.
(build_subprog_body): Likewise.
(end_subprog_body): Likewise; also set up BLOCK in DECL_INITIAL.
* ada-tree.def (DECL_STMT, NULL_STMT): New codes.
* ada-tree.h: (DECL_INIT_BY_ASSIGN_P): New macro.
(DECL_STMT_VAR): Likewise.
2004-05-17 Robert Dewar <dewar@gnat.com>
* restrict.ads, restrict.adb (Process_Restriction_Synonym): New
procedure
* sem_prag.adb (Analyze_Pragma, case Restrictions): Cleanup handling
of restriction synonyums by using
Restrict.Process_Restriction_Synonyms.
* snames.ads, snames.adb: Add entries for Process_Restriction_Synonym
* s-restri.ads (Tasking_Allowed): Correct missing comment
* s-rident.ads: Add entries for restriction synonyms
* ali.adb: Fix some problems with badly formatted ALI files that can
result in infinite loops.
* s-taprop-lynxos.adb, s-tpopsp-lynxos.adb, s-taprop-tru64.adb,
s-tpopsp-posix-foreign.adb, s-taprop-irix.adb, s-interr-sigaction.adb,
s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb,
s-taprop-dummy.adb, s-interr-dummy.adb, s-taprop-os2.adb,
s-taprop-solaris.adb, s-tpopsp-solaris.adb, s-asthan-vms.adb,
s-inmaop-vms.adb, s-interr-vms.adb, s-taprop-vms.adb,
s-tpopde-vms.adb, s-taprop-mingw.adb, s-interr-vxworks.adb,
s-taprop-vxworks.adb, s-tpopsp-vxworks.adb, s-taprop-posix.adb,
s-tpopsp-posix.adb, s-tratas-default.adb, a-dynpri.adb,
a-tasatt.adb, a-taside.adb, a-taside.ads, exp_attr.adb,
exp_ch9.adb, g-thread.adb, rtsfind.ads, sem_attr.adb,
s-interr.adb, s-interr.ads, s-soflin.ads, s-taasde.adb,
s-taasde.ads, s-taenca.adb, s-taenca.ads, s-taprop.ads,
s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads,
s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads,
s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads,
s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads,
s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads,
s-tpoben.adb, s-tpobop.adb, s-tpobop.ads, s-tporft.adb,
s-tposen.adb, s-tposen.ads, s-tratas.adb, s-tratas.ads: Change Task_ID
to Task_Id (minor cleanup).
2004-05-17 Vincent Celier <celier@gnat.com>
* g-os_lib.adb (Normalize_Pathname.Final_Value): Remove trailing
directory separator.
* prj-proc.adb (Recursive_Process): Inherit attribute Languages from
project being extended, if Languages is not declared in extending
project.
2004-05-17 Javier Miranda <miranda@gnat.com>
* sem_ch10.adb (Install_Limited_Withed_Unit): Do not install the
limited view of a visible sibling.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81935 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/s-tassta.adb')
-rw-r--r-- | gcc/ada/s-tassta.adb | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/gcc/ada/s-tassta.adb b/gcc/ada/s-tassta.adb index cc946115a8e..e3b4c951b3a 100644 --- a/gcc/ada/s-tassta.adb +++ b/gcc/ada/s-tassta.adb @@ -130,40 +130,40 @@ package body System.Tasking.Stages is -- Local Subprograms -- ----------------------- - procedure Trace_Unhandled_Exception_In_Task (Self_Id : Task_ID); + procedure Trace_Unhandled_Exception_In_Task (Self_Id : Task_Id); -- This procedure outputs the task specific message for exception -- tracing purposes. - procedure Task_Wrapper (Self_ID : Task_ID); + procedure Task_Wrapper (Self_ID : Task_Id); -- This is the procedure that is called by the GNULL from the -- new context when a task is created. It waits for activation -- and then calls the task body procedure. When the task body -- procedure completes, it terminates the task. - procedure Vulnerable_Complete_Task (Self_ID : Task_ID); + procedure Vulnerable_Complete_Task (Self_ID : Task_Id); -- Complete the calling task. -- This procedure must be called with abort deferred. -- It should only be called by Complete_Task and -- Finalizate_Global_Tasks (for the environment task). - procedure Vulnerable_Complete_Master (Self_ID : Task_ID); + procedure Vulnerable_Complete_Master (Self_ID : Task_Id); -- Complete the current master of the calling task. -- This procedure must be called with abort deferred. -- It should only be called by Vulnerable_Complete_Task and -- Complete_Master. - procedure Vulnerable_Complete_Activation (Self_ID : Task_ID); + procedure Vulnerable_Complete_Activation (Self_ID : Task_Id); -- Signal to Self_ID's activator that Self_ID has -- completed activation. -- -- Call this procedure with abort deferred. - procedure Abort_Dependents (Self_ID : Task_ID); + procedure Abort_Dependents (Self_ID : Task_Id); -- Abort all the direct dependents of Self at its current master -- nesting level, plus all of their dependents, transitively. -- RTS_Lock should be locked by the caller. - procedure Vulnerable_Free_Task (T : Task_ID); + procedure Vulnerable_Free_Task (T : Task_Id); -- Recover all runtime system storage associated with the task T. -- This should only be called after T has terminated and will no -- longer be referenced. @@ -181,9 +181,9 @@ package body System.Tasking.Stages is -- Abort_Dependents -- ---------------------- - procedure Abort_Dependents (Self_ID : Task_ID) is - C : Task_ID; - P : Task_ID; + procedure Abort_Dependents (Self_ID : Task_Id) is + C : Task_Id; + P : Task_Id; begin C := All_Tasks_List; @@ -251,10 +251,10 @@ package body System.Tasking.Stages is -- operation is done in a separate pass over the activation chain. procedure Activate_Tasks (Chain_Access : Activation_Chain_Access) is - Self_ID : constant Task_ID := STPO.Self; - P : Task_ID; - C : Task_ID; - Next_C, Last_C : Task_ID; + Self_ID : constant Task_Id := STPO.Self; + P : Task_Id; + C : Task_Id; + Next_C, Last_C : Task_Id; Activate_Prio : System.Any_Priority; Success : Boolean; All_Elaborated : Boolean := True; @@ -426,7 +426,7 @@ package body System.Tasking.Stages is ------------------------- procedure Complete_Activation is - Self_ID : constant Task_ID := STPO.Self; + Self_ID : constant Task_Id := STPO.Self; begin Initialization.Defer_Abort_Nestable (Self_ID); @@ -455,7 +455,7 @@ package body System.Tasking.Stages is --------------------- procedure Complete_Master is - Self_ID : constant Task_ID := STPO.Self; + Self_ID : constant Task_Id := STPO.Self; begin pragma Assert (Self_ID.Deferral_Level > 0); @@ -470,7 +470,7 @@ package body System.Tasking.Stages is -- See comments on Vulnerable_Complete_Task for details procedure Complete_Task is - Self_ID : constant Task_ID := STPO.Self; + Self_ID : constant Task_Id := STPO.Self; begin pragma Assert (Self_ID.Deferral_Level > 0); @@ -498,10 +498,10 @@ package body System.Tasking.Stages is Elaborated : Access_Boolean; Chain : in out Activation_Chain; Task_Image : String; - Created_Task : out Task_ID) + Created_Task : out Task_Id) is - T, P : Task_ID; - Self_ID : constant Task_ID := STPO.Self; + T, P : Task_Id; + Self_ID : constant Task_Id := STPO.Self; Success : Boolean; Base_Priority : System.Any_Priority; Len : Natural; @@ -639,7 +639,7 @@ package body System.Tasking.Stages is ------------------ procedure Enter_Master is - Self_ID : constant Task_ID := STPO.Self; + Self_ID : constant Task_Id := STPO.Self; begin Self_ID.Master_Within := Self_ID.Master_Within + 1; @@ -652,10 +652,10 @@ package body System.Tasking.Stages is -- See procedure Close_Entries for the general case. procedure Expunge_Unactivated_Tasks (Chain : in out Activation_Chain) is - Self_ID : constant Task_ID := STPO.Self; - C : Task_ID; + Self_ID : constant Task_Id := STPO.Self; + C : Task_Id; Call : Entry_Call_Link; - Temp : Task_ID; + Temp : Task_Id; begin pragma Debug @@ -714,7 +714,7 @@ package body System.Tasking.Stages is -- using the global finalization chain. procedure Finalize_Global_Tasks is - Self_ID : constant Task_ID := STPO.Self; + Self_ID : constant Task_Id := STPO.Self; Ignore : Boolean; begin @@ -813,8 +813,8 @@ package body System.Tasking.Stages is -- Free_Task -- --------------- - procedure Free_Task (T : Task_ID) is - Self_Id : constant Task_ID := Self; + procedure Free_Task (T : Task_Id) is + Self_Id : constant Task_Id := Self; begin if T.Common.State = Terminated then @@ -851,7 +851,7 @@ package body System.Tasking.Stages is -- data. Task finalization is done by Complete_Task, which is called from -- an at-end handler that the compiler generates. - procedure Task_Wrapper (Self_ID : Task_ID) is + procedure Task_Wrapper (Self_ID : Task_Id) is use type System.Parameters.Size_Type; use type SSE.Storage_Offset; use System.Standard_Library; @@ -973,8 +973,8 @@ package body System.Tasking.Stages is -- overwriting the data of the new task that reused the ATCB! To solve -- this problem, we introduced the new operation Final_Task_Unlock. - procedure Terminate_Task (Self_ID : Task_ID) is - Environment_Task : constant Task_ID := STPO.Environment_Task; + procedure Terminate_Task (Self_ID : Task_Id) is + Environment_Task : constant Task_Id := STPO.Environment_Task; Master_of_Task : Integer; begin @@ -1045,8 +1045,8 @@ package body System.Tasking.Stages is -- Terminated -- ---------------- - function Terminated (T : Task_ID) return Boolean is - Self_ID : constant Task_ID := STPO.Self; + function Terminated (T : Task_Id) return Boolean is + Self_ID : constant Task_Id := STPO.Self; Result : Boolean; begin @@ -1072,7 +1072,7 @@ package body System.Tasking.Stages is -- Trace_Unhandled_Exception_In_Task -- ---------------------------------------- - procedure Trace_Unhandled_Exception_In_Task (Self_Id : Task_ID) is + procedure Trace_Unhandled_Exception_In_Task (Self_Id : Task_Id) is procedure To_Stderr (S : String); pragma Import (Ada, To_Stderr, "__gnat_to_stderr"); @@ -1081,7 +1081,7 @@ package body System.Tasking.Stages is use System.Standard_Library; function To_Address is new - Unchecked_Conversion (Task_ID, System.Address); + Unchecked_Conversion (Task_Id, System.Address); function Tailored_Exception_Information (E : Exception_Occurrence) return String; @@ -1121,8 +1121,8 @@ package body System.Tasking.Stages is -- ordering policy, since the activated task must be created after the -- activator. - procedure Vulnerable_Complete_Activation (Self_ID : Task_ID) is - Activator : constant Task_ID := Self_ID.Common.Activator; + procedure Vulnerable_Complete_Activation (Self_ID : Task_Id) is + Activator : constant Task_Id := Self_ID.Common.Activator; begin pragma Debug (Debug.Trace (Self_ID, "V_Complete_Activation", 'C')); @@ -1175,13 +1175,13 @@ package body System.Tasking.Stages is -- Vulnerable_Complete_Master -- -------------------------------- - procedure Vulnerable_Complete_Master (Self_ID : Task_ID) is - C : Task_ID; - P : Task_ID; + procedure Vulnerable_Complete_Master (Self_ID : Task_Id) is + C : Task_Id; + P : Task_Id; CM : constant Master_Level := Self_ID.Master_Within; - T : aliased Task_ID; + T : aliased Task_Id; - To_Be_Freed : Task_ID; + To_Be_Freed : Task_Id; -- This is a list of ATCBs to be freed, after we have released -- all RTS locks. This is necessary because of the locking order -- rules, since the storage manager uses Global_Task_Lock. @@ -1478,7 +1478,7 @@ package body System.Tasking.Stages is -- Be sure to update this value when changing -- Interrupt_Manager specs. - type Param_Type is access all Task_ID; + type Param_Type is access all Task_Id; Param : aliased Param_Type := T'Access; @@ -1546,7 +1546,7 @@ package body System.Tasking.Stages is -- to test Self_ID.Common.Activator. That value should only be read and -- modified by Self. - procedure Vulnerable_Complete_Task (Self_ID : Task_ID) is + procedure Vulnerable_Complete_Task (Self_ID : Task_Id) is begin pragma Assert (Self_ID.Deferral_Level > 0); pragma Assert (Self_ID = Self); @@ -1607,7 +1607,7 @@ package body System.Tasking.Stages is -- It is also called from Unchecked_Deallocation, for objects that -- are or contain tasks. - procedure Vulnerable_Free_Task (T : Task_ID) is + procedure Vulnerable_Free_Task (T : Task_Id) is begin pragma Debug (Debug.Trace (Self, "Vulnerable_Free_Task", 'C', T)); |