summaryrefslogtreecommitdiff
path: root/gcc/ada/5vinmaop.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/5vinmaop.adb')
-rw-r--r--gcc/ada/5vinmaop.adb42
1 files changed, 30 insertions, 12 deletions
diff --git a/gcc/ada/5vinmaop.adb b/gcc/ada/5vinmaop.adb
index e5c8eeedf7b..02e191150c5 100644
--- a/gcc/ada/5vinmaop.adb
+++ b/gcc/ada/5vinmaop.adb
@@ -7,7 +7,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1991-2001 Florida State University --
+-- Copyright (C) 1992-2002 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,9 +27,8 @@
-- however invalidate any other reasons why the executable file might be --
-- covered by the GNU Public License. --
-- --
--- GNARL was developed by the GNARL team at Florida State University. It is --
--- now maintained by Ada Core Technologies Inc. in cooperation with Florida --
--- State University (http://www.gnat.com). --
+-- GNARL was developed by the GNARL team at Florida State University. --
+-- Extensive contributions were provided by Ada Core Technologies, Inc. --
-- --
------------------------------------------------------------------------------
@@ -38,6 +37,8 @@
with System.OS_Interface;
-- used for various type, constant, and operations
+with System.Parameters;
+
with System.Tasking;
with System.Tasking.Initialization;
@@ -51,6 +52,7 @@ with Unchecked_Conversion;
package body System.Interrupt_Management.Operations is
use System.OS_Interface;
+ use System.Parameters;
use System.Tasking;
use type unsigned_short;
@@ -62,6 +64,7 @@ package body System.Interrupt_Management.Operations is
----------------------------
procedure Thread_Block_Interrupt (Interrupt : Interrupt_ID) is
+ pragma Warnings (Off, Interrupt);
begin
null;
end Thread_Block_Interrupt;
@@ -71,6 +74,7 @@ package body System.Interrupt_Management.Operations is
------------------------------
procedure Thread_Unblock_Interrupt (Interrupt : Interrupt_ID) is
+ pragma Warnings (Off, Interrupt);
begin
null;
end Thread_Unblock_Interrupt;
@@ -80,13 +84,17 @@ package body System.Interrupt_Management.Operations is
------------------------
procedure Set_Interrupt_Mask (Mask : access Interrupt_Mask) is
+ pragma Warnings (Off, Mask);
begin
null;
end Set_Interrupt_Mask;
procedure Set_Interrupt_Mask
(Mask : access Interrupt_Mask;
- OMask : access Interrupt_Mask) is
+ OMask : access Interrupt_Mask)
+ is
+ pragma Warnings (Off, Mask);
+ pragma Warnings (Off, OMask);
begin
null;
end Set_Interrupt_Mask;
@@ -96,6 +104,7 @@ package body System.Interrupt_Management.Operations is
------------------------
procedure Get_Interrupt_Mask (Mask : access Interrupt_Mask) is
+ pragma Warnings (Off, Mask);
begin
null;
end Get_Interrupt_Mask;
@@ -153,8 +162,18 @@ package body System.Interrupt_Management.Operations is
end if;
else
POP.Unlock (Self_ID);
+
+ if Single_Lock then
+ POP.Unlock_RTS;
+ end if;
+
System.Tasking.Initialization.Undefer_Abort (Self_ID);
System.Tasking.Initialization.Defer_Abort (Self_ID);
+
+ if Single_Lock then
+ POP.Lock_RTS;
+ end if;
+
POP.Write_Lock (Self_ID);
end if;
end loop;
@@ -165,6 +184,7 @@ package body System.Interrupt_Management.Operations is
----------------------------
procedure Install_Default_Action (Interrupt : Interrupt_ID) is
+ pragma Warnings (Off, Interrupt);
begin
null;
end Install_Default_Action;
@@ -174,6 +194,7 @@ package body System.Interrupt_Management.Operations is
---------------------------
procedure Install_Ignore_Action (Interrupt : Interrupt_ID) is
+ pragma Warnings (Off, Interrupt);
begin
null;
end Install_Ignore_Action;
@@ -259,19 +280,16 @@ package body System.Interrupt_Management.Operations is
P2 => Interrupt_ID'Size / 8);
pragma Assert ((Status and 1) = 1);
-
end Interrupt_Self_Process;
begin
-
Environment_Mask := (others => False);
All_Tasks_Mask := (others => True);
- for I in Interrupt_ID loop
- if Keep_Unmasked (I) then
- Environment_Mask (Signal (I)) := True;
- All_Tasks_Mask (Signal (I)) := False;
+ for J in Interrupt_ID loop
+ if Keep_Unmasked (J) then
+ Environment_Mask (Signal (J)) := True;
+ All_Tasks_Mask (Signal (J)) := False;
end if;
end loop;
-
end System.Interrupt_Management.Operations;