diff options
Diffstat (limited to 'gcc/ada/5zinterr.adb')
-rw-r--r-- | gcc/ada/5zinterr.adb | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/gcc/ada/5zinterr.adb b/gcc/ada/5zinterr.adb index 03a724a83df..674c08f3322 100644 --- a/gcc/ada/5zinterr.adb +++ b/gcc/ada/5zinterr.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2002, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2003, Free Software Foundation, Inc. -- -- -- -- GNARL 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- -- @@ -27,7 +27,7 @@ -- covered by the GNU Public License. -- -- -- -- GNARL was developed by the GNARL team at Florida State University. -- --- Extensive contributions were provided by Ada Core Technologies Inc. -- +-- Extensive contributions were provided by Ada Core Technologies, Inc. -- -- -- ------------------------------------------------------------------------------ @@ -77,6 +77,9 @@ with Ada.Task_Identification; with Ada.Exceptions; -- used for Raise_Exception +with System.Interrupt_Management; +-- used for Reserve + with System.Task_Primitives.Operations; -- used for Write_Lock -- Unlock @@ -109,7 +112,6 @@ package body System.Interrupts is use Tasking; use Ada.Exceptions; - package PRI renames System.Task_Primitives; package POP renames System.Task_Primitives.Operations; function To_Ada is new Unchecked_Conversion @@ -447,13 +449,21 @@ package body System.Interrupts is ------------------------------------- function Has_Interrupt_Or_Attach_Handler - (Object : access Dynamic_Interrupt_Protection) return Boolean is + (Object : access Dynamic_Interrupt_Protection) + return Boolean + is + pragma Unreferenced (Object); + begin return True; end Has_Interrupt_Or_Attach_Handler; function Has_Interrupt_Or_Attach_Handler - (Object : access Static_Interrupt_Protection) return Boolean is + (Object : access Static_Interrupt_Protection) + return Boolean + is + pragma Unreferenced (Object); + begin return True; end Has_Interrupt_Or_Attach_Handler; @@ -617,8 +627,9 @@ package body System.Interrupts is ----------------- function Is_Reserved (Interrupt : Interrupt_ID) return Boolean is + use System.Interrupt_Management; begin - return False; + return Reserve (System.Interrupt_Management.Interrupt_ID (Interrupt)); end Is_Reserved; ---------------------- @@ -737,11 +748,6 @@ package body System.Interrupts is ----------------------- task body Interrupt_Manager is - --------------------- - -- Local Variables -- - --------------------- - - Self_Id : constant Task_ID := POP.Self; -------------------- -- Local Routines -- @@ -991,7 +997,7 @@ package body System.Interrupts is "A binding for this interrupt is already present"); end if; - User_Entry (Interrupt) := Entry_Assoc' (T => T, E => E); + User_Entry (Interrupt) := Entry_Assoc'(T => T, E => E); -- Indicate the attachment of interrupt entry in the ATCB. -- This is needed so when an interrupt entry task terminates @@ -1022,8 +1028,9 @@ package body System.Interrupts is for Int in Interrupt_ID'Range loop if not Is_Reserved (Int) then if User_Entry (Int).T = T then - User_Entry (Int) := Entry_Assoc' - (T => Null_Task, E => Null_Task_Entry); + User_Entry (Int) := + Entry_Assoc' + (T => Null_Task, E => Null_Task_Entry); Unbind_Handler (Int); end if; end if; |