aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDoug Rupp <rupp@adacore.com>2021-07-12 13:21:45 -0700
committerPierre-Marie de Rodat <derodat@adacore.com>2021-09-22 15:01:47 +0000
commit27534649ab6bed76c2839f2874849a5ddd48251a (patch)
treecfdc65397c31116b16a3c49d0efa81ce34c1ac69 /gcc
parent920e43ee2143c2dbe71d0117243ef53363396ee1 (diff)
downloadgcc-27534649ab6bed76c2839f2874849a5ddd48251a.zip
gcc-27534649ab6bed76c2839f2874849a5ddd48251a.tar.gz
gcc-27534649ab6bed76c2839f2874849a5ddd48251a.tar.bz2
[Ada] VxWorks inconsistent use of return type (BOOL)
gcc/ada/ * libgnarl/s-vxwext.ads (BOOL): New int type. (Interrupt_Context): Change return type to BOOL. * libgnarl/s-vxwext__kernel.ads: Likewise. * libgnarl/s-vxwext__rtp-smp.adb: Likewise. * libgnarl/s-vxwext__rtp.adb: Likewise. * libgnarl/s-vxwext__rtp.ads: Likewise. * libgnarl/s-osinte__vxworks.adb (Interrupt_Context): Change return type to BOOL. * libgnarl/s-osinte__vxworks.ads (BOOL) New subtype. (taskIsSuspended): Change return type to BOOL. (Interrupt_Context): Change return type to BOOL. Adjust comments accordingly. * libgnarl/s-taprop__vxworks.adb (System.VxWorks.Ext.BOOL): use type. (Is_Task_Context): Test Interrupt_Context against 0. * libgnat/i-vxwork.ads (BOOL): New int. (intContext): Change return type to BOOL. Adjust comments. * libgnat/i-vxwork__x86.ads: Likewise.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/libgnarl/s-osinte__vxworks.adb2
-rw-r--r--gcc/ada/libgnarl/s-osinte__vxworks.ads9
-rw-r--r--gcc/ada/libgnarl/s-taprop__vxworks.adb5
-rw-r--r--gcc/ada/libgnarl/s-vxwext.ads5
-rw-r--r--gcc/ada/libgnarl/s-vxwext__kernel.ads5
-rw-r--r--gcc/ada/libgnarl/s-vxwext__rtp-smp.adb2
-rw-r--r--gcc/ada/libgnarl/s-vxwext__rtp.adb2
-rw-r--r--gcc/ada/libgnarl/s-vxwext__rtp.ads5
-rw-r--r--gcc/ada/libgnat/i-vxwork.ads9
-rw-r--r--gcc/ada/libgnat/i-vxwork__x86.ads9
10 files changed, 35 insertions, 18 deletions
diff --git a/gcc/ada/libgnarl/s-osinte__vxworks.adb b/gcc/ada/libgnarl/s-osinte__vxworks.adb
index cf3ece3..677cd60 100644
--- a/gcc/ada/libgnarl/s-osinte__vxworks.adb
+++ b/gcc/ada/libgnarl/s-osinte__vxworks.adb
@@ -203,7 +203,7 @@ package body System.OS_Interface is
-- Interrupt_Context --
-----------------------
- function Interrupt_Context return int is
+ function Interrupt_Context return BOOL is
begin
return System.VxWorks.Ext.Interrupt_Context;
end Interrupt_Context;
diff --git a/gcc/ada/libgnarl/s-osinte__vxworks.ads b/gcc/ada/libgnarl/s-osinte__vxworks.ads
index b288237..d4ed479 100644
--- a/gcc/ada/libgnarl/s-osinte__vxworks.ads
+++ b/gcc/ada/libgnarl/s-osinte__vxworks.ads
@@ -57,6 +57,7 @@ package System.OS_Interface is
type unsigned_long_long is mod 2 ** long_long'Size;
type size_t is mod 2 ** Standard'Address_Size;
+ subtype BOOL is System.VxWorks.Ext.BOOL;
subtype vx_freq_t is System.VxWorks.Ext.vx_freq_t;
-----------
@@ -307,7 +308,7 @@ package System.OS_Interface is
function taskResume (tid : t_id) return int;
pragma Import (C, taskResume, "taskResume");
- function taskIsSuspended (tid : t_id) return int;
+ function taskIsSuspended (tid : t_id) return BOOL;
pragma Import (C, taskIsSuspended, "taskIsSuspended");
function taskDelay (ticks : int) return int;
@@ -489,10 +490,10 @@ package System.OS_Interface is
-- which is invoked after the OS has saved enough context for a high-level
-- language routine to be safely invoked.
- function Interrupt_Context return int;
+ function Interrupt_Context return BOOL;
pragma Inline (Interrupt_Context);
- -- Return 1 if executing in an interrupt context; return 0 if executing in
- -- a task context.
+ -- Return 1 (TRUE) if executing in an interrupt context;
+ -- return 0 (FALSE) if executing in a task context.
function Interrupt_Number_To_Vector (intNum : int) return Interrupt_Vector;
pragma Inline (Interrupt_Number_To_Vector);
diff --git a/gcc/ada/libgnarl/s-taprop__vxworks.adb b/gcc/ada/libgnarl/s-taprop__vxworks.adb
index 2b98833..f668712 100644
--- a/gcc/ada/libgnarl/s-taprop__vxworks.adb
+++ b/gcc/ada/libgnarl/s-taprop__vxworks.adb
@@ -62,9 +62,10 @@ package body System.Task_Primitives.Operations is
use System.Tasking;
use System.OS_Interface;
use System.Parameters;
- use type System.VxWorks.Ext.t_id;
use type Interfaces.C.int;
use type System.OS_Interface.unsigned;
+ use type System.VxWorks.Ext.t_id;
+ use type System.VxWorks.Ext.BOOL;
subtype int is System.OS_Interface.int;
subtype unsigned is System.OS_Interface.unsigned;
@@ -1304,7 +1305,7 @@ package body System.Task_Primitives.Operations is
function Is_Task_Context return Boolean is
begin
- return System.OS_Interface.Interrupt_Context /= 1;
+ return System.OS_Interface.Interrupt_Context = 0;
end Is_Task_Context;
----------------
diff --git a/gcc/ada/libgnarl/s-vxwext.ads b/gcc/ada/libgnarl/s-vxwext.ads
index 8497d2c..15a5683 100644
--- a/gcc/ada/libgnarl/s-vxwext.ads
+++ b/gcc/ada/libgnarl/s-vxwext.ads
@@ -46,6 +46,9 @@ package System.VxWorks.Ext is
subtype int is Interfaces.C.int;
subtype unsigned is Interfaces.C.unsigned;
+ type BOOL is new int;
+ -- Equivalent of the C type BOOL
+
type vx_freq_t is new unsigned;
-- Equivalent of the C type _Vx_freq_t
@@ -66,7 +69,7 @@ package System.VxWorks.Ext is
Parameter : System.Address := System.Null_Address) return int;
pragma Import (C, Interrupt_Connect, "intConnect");
- function Interrupt_Context return int;
+ function Interrupt_Context return BOOL;
pragma Import (C, Interrupt_Context, "intContext");
function Interrupt_Number_To_Vector
diff --git a/gcc/ada/libgnarl/s-vxwext__kernel.ads b/gcc/ada/libgnarl/s-vxwext__kernel.ads
index 57ce053..71c41e4 100644
--- a/gcc/ada/libgnarl/s-vxwext__kernel.ads
+++ b/gcc/ada/libgnarl/s-vxwext__kernel.ads
@@ -45,6 +45,9 @@ package System.VxWorks.Ext is
subtype int is Interfaces.C.int;
subtype unsigned is Interfaces.C.unsigned;
+ type BOOL is new int;
+ -- Equivalent of the C type BOOL
+
type vx_freq_t is new unsigned;
-- Equivalent of the C type _Vx_freq_t
@@ -65,7 +68,7 @@ package System.VxWorks.Ext is
Parameter : System.Address := System.Null_Address) return int;
pragma Import (C, Interrupt_Connect, "intConnect");
- function Interrupt_Context return int;
+ function Interrupt_Context return BOOL;
pragma Import (C, Interrupt_Context, "intContext");
function Interrupt_Number_To_Vector
diff --git a/gcc/ada/libgnarl/s-vxwext__rtp-smp.adb b/gcc/ada/libgnarl/s-vxwext__rtp-smp.adb
index 8061c37..5119a76 100644
--- a/gcc/ada/libgnarl/s-vxwext__rtp-smp.adb
+++ b/gcc/ada/libgnarl/s-vxwext__rtp-smp.adb
@@ -72,7 +72,7 @@ package body System.VxWorks.Ext is
-- Interrupt_Context --
-----------------------
- function Interrupt_Context return int is
+ function Interrupt_Context return BOOL is
begin
-- For RTPs, never in an interrupt context
diff --git a/gcc/ada/libgnarl/s-vxwext__rtp.adb b/gcc/ada/libgnarl/s-vxwext__rtp.adb
index 65511b0..473e975 100644
--- a/gcc/ada/libgnarl/s-vxwext__rtp.adb
+++ b/gcc/ada/libgnarl/s-vxwext__rtp.adb
@@ -72,7 +72,7 @@ package body System.VxWorks.Ext is
-- Interrupt_Context --
-----------------------
- function Interrupt_Context return int is
+ function Interrupt_Context return BOOL is
begin
-- For RTPs, never in an interrupt context
diff --git a/gcc/ada/libgnarl/s-vxwext__rtp.ads b/gcc/ada/libgnarl/s-vxwext__rtp.ads
index 70dfcbc..7e3a8ba 100644
--- a/gcc/ada/libgnarl/s-vxwext__rtp.ads
+++ b/gcc/ada/libgnarl/s-vxwext__rtp.ads
@@ -45,6 +45,9 @@ package System.VxWorks.Ext is
subtype int is Interfaces.C.int;
subtype unsigned is Interfaces.C.unsigned;
+ type BOOL is new int;
+ -- Equivalent of the C type BOOL
+
type vx_freq_t is new unsigned;
-- Equivalent of the C type _Vx_freq_t
@@ -65,7 +68,7 @@ package System.VxWorks.Ext is
Parameter : System.Address := System.Null_Address) return int;
pragma Convention (C, Interrupt_Connect);
- function Interrupt_Context return int;
+ function Interrupt_Context return BOOL;
pragma Convention (C, Interrupt_Context);
function Interrupt_Number_To_Vector
diff --git a/gcc/ada/libgnat/i-vxwork.ads b/gcc/ada/libgnat/i-vxwork.ads
index c5686bb..0ba1e6e 100644
--- a/gcc/ada/libgnat/i-vxwork.ads
+++ b/gcc/ada/libgnat/i-vxwork.ads
@@ -133,6 +133,9 @@ package Interfaces.VxWorks is
OK : constant STATUS := 0;
ERROR : constant STATUS := -1;
+ type BOOL is new int;
+ -- Equivalent of the C type BOOL
+
type VOIDFUNCPTR is access procedure (parameter : System.Address);
type Interrupt_Vector is new System.Address;
type Exception_Vector is new System.Address;
@@ -145,9 +148,9 @@ package Interfaces.VxWorks is
-- The routine generates a wrapper around the user handler to save and
-- restore context
- function intContext return int;
- -- Binding to the C routine intContext. This function returns 1 only if the
- -- current execution state is in interrupt context.
+ function intContext return BOOL;
+ -- Binding to the C routine intContext. This function returns 1 (TRUE)
+ -- only if the current execution state is in interrupt context.
function intVecGet
(Vector : Interrupt_Vector) return VOIDFUNCPTR;
diff --git a/gcc/ada/libgnat/i-vxwork__x86.ads b/gcc/ada/libgnat/i-vxwork__x86.ads
index ed9bb42..659167f 100644
--- a/gcc/ada/libgnat/i-vxwork__x86.ads
+++ b/gcc/ada/libgnat/i-vxwork__x86.ads
@@ -128,6 +128,9 @@ package Interfaces.VxWorks is
OK : constant STATUS := 0;
ERROR : constant STATUS := -1;
+ type BOOL is new int;
+ -- Equivalent of the C type BOOL
+
type VOIDFUNCPTR is access procedure (parameter : System.Address);
type Interrupt_Vector is new System.Address;
type Exception_Vector is new System.Address;
@@ -140,9 +143,9 @@ package Interfaces.VxWorks is
-- The routine generates a wrapper around the user handler to save and
-- restore context
- function intContext return int;
- -- Binding to the C routine intContext. This function returns 1 only if the
- -- current execution state is in interrupt context.
+ function intContext return BOOL;
+ -- Binding to the C routine intContext. This function returns 1 (TRUE)
+ -- only if the current execution state is in interrupt context.
function intVecGet
(Vector : Interrupt_Vector) return VOIDFUNCPTR;