summaryrefslogtreecommitdiffstats
path: root/gcc/ada/s-tassta.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-17 13:20:48 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-17 13:20:48 +0000
commit7f9be3624360758959cac55dff8abec8b13d7e4e (patch)
tree2b5692e6b47e044d030ae4b10881296d50e2f101 /gcc/ada/s-tassta.adb
parenta9d86d5dde106b29ae985f1468c23469c793fca0 (diff)
downloadppe42-gcc-7f9be3624360758959cac55dff8abec8b13d7e4e.tar.gz
ppe42-gcc-7f9be3624360758959cac55dff8abec8b13d7e4e.zip
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.adb88
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));
OpenPOWER on IntegriCloud