diff options
author | Doug Rupp <rupp@adacore.com> | 2021-07-12 13:21:45 -0700 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2021-09-22 15:01:47 +0000 |
commit | 27534649ab6bed76c2839f2874849a5ddd48251a (patch) | |
tree | cfdc65397c31116b16a3c49d0efa81ce34c1ac69 /gcc | |
parent | 920e43ee2143c2dbe71d0117243ef53363396ee1 (diff) | |
download | gcc-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.adb | 2 | ||||
-rw-r--r-- | gcc/ada/libgnarl/s-osinte__vxworks.ads | 9 | ||||
-rw-r--r-- | gcc/ada/libgnarl/s-taprop__vxworks.adb | 5 | ||||
-rw-r--r-- | gcc/ada/libgnarl/s-vxwext.ads | 5 | ||||
-rw-r--r-- | gcc/ada/libgnarl/s-vxwext__kernel.ads | 5 | ||||
-rw-r--r-- | gcc/ada/libgnarl/s-vxwext__rtp-smp.adb | 2 | ||||
-rw-r--r-- | gcc/ada/libgnarl/s-vxwext__rtp.adb | 2 | ||||
-rw-r--r-- | gcc/ada/libgnarl/s-vxwext__rtp.ads | 5 | ||||
-rw-r--r-- | gcc/ada/libgnat/i-vxwork.ads | 9 | ||||
-rw-r--r-- | gcc/ada/libgnat/i-vxwork__x86.ads | 9 |
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; |