diff options
Diffstat (limited to 'gcc/ada/s-intman-vxworks.ads')
-rw-r--r-- | gcc/ada/s-intman-vxworks.ads | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/gcc/ada/s-intman-vxworks.ads b/gcc/ada/s-intman-vxworks.ads index 6a9d5e5e22d..14ceb91a28e 100644 --- a/gcc/ada/s-intman-vxworks.ads +++ b/gcc/ada/s-intman-vxworks.ads @@ -40,13 +40,6 @@ -- Unlike the original design, System.Interrupt_Management can only -- be used for tasking systems. --- PLEASE DO NOT remove the Elaborate_Body pragma from this package. --- Elaboration of this package should happen early, as most other --- initializations depend on it. Forcing immediate elaboration of --- the body also helps to enforce the design assumption that this --- is a second-level package, just one level above System.OS_Interface --- with no cross-dependencies. - -- PLEASE DO NOT put any subprogram declarations with arguments of -- type Interrupt_ID into the visible part of this package. The type -- Interrupt_ID is used to derive the type in Ada.Interrupts, and @@ -61,8 +54,7 @@ with Interfaces.C; -- used for int package System.Interrupt_Management is - - pragma Elaborate_Body; + pragma Preelaborate; type Interrupt_Mask is limited private; @@ -114,6 +106,11 @@ package System.Interrupt_Management is -- This procedure is used to initialize signal-to-exception mapping in -- each task. + procedure Initialize; + -- Initialize the various variables defined in this package. + -- This procedure must be called before accessing any object from this + -- package and can be called multiple times. + private type Interrupt_Mask is new System.OS_Interface.sigset_t; -- In some implementation Interrupt_Mask can be represented as a linked |