[gcc r12-3799] [Ada] VxWorks inconsistent use of return type (vx_freq_t)

Pierre-Marie de Rodat pmderodat@gcc.gnu.org
Wed Sep 22 15:10:14 GMT 2021


https://gcc.gnu.org/g:2df3e43eb97a3d1e96485a9b682f9a07478b6da7

commit r12-3799-g2df3e43eb97a3d1e96485a9b682f9a07478b6da7
Author: Doug Rupp <rupp@adacore.com>
Date:   Mon Jul 12 10:52:32 2021 -0700

    [Ada] VxWorks inconsistent use of return type (vx_freq_t)
    
    gcc/ada/
    
            * libgnarl/s-osinte__vxworks.ads (SVE): New package renaming
            (vx_freq_t): New subtype.
            (sysClkRateGet): Return vx_freq_t.
            * libgnarl/s-vxwext.ads (vx_freq_t): New type.
            * libgnarl/s-vxwext__kernel.ads: Likewise.
            * libgnarl/s-vxwext__rtp.ads: Likewise.

Diff:
---
 gcc/ada/libgnarl/s-osinte__vxworks.ads | 4 +++-
 gcc/ada/libgnarl/s-vxwext.ads          | 3 +++
 gcc/ada/libgnarl/s-vxwext__kernel.ads  | 3 +++
 gcc/ada/libgnarl/s-vxwext__rtp.ads     | 3 +++
 4 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/gcc/ada/libgnarl/s-osinte__vxworks.ads b/gcc/ada/libgnarl/s-osinte__vxworks.ads
index a2d5620a03c..384cdec1fae 100644
--- a/gcc/ada/libgnarl/s-osinte__vxworks.ads
+++ b/gcc/ada/libgnarl/s-osinte__vxworks.ads
@@ -57,6 +57,8 @@ 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 vx_freq_t       is System.VxWorks.Ext.vx_freq_t;
+
    -----------
    -- Errno --
    -----------
@@ -312,7 +314,7 @@ package System.OS_Interface is
    function taskDelay (ticks : int) return int;
    pragma Import (C, taskDelay, "taskDelay");
 
-   function sysClkRateGet return int;
+   function sysClkRateGet return vx_freq_t;
    pragma Import (C, sysClkRateGet, "sysClkRateGet");
 
    --  VxWorks 5.x specific functions
diff --git a/gcc/ada/libgnarl/s-vxwext.ads b/gcc/ada/libgnarl/s-vxwext.ads
index 915db33af18..1c9847f10f6 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 vx_freq_t is new unsigned;
+   --  Equivalent of the C type _Vx_freq_t
+
    type Interrupt_Handler is access procedure (parameter : System.Address);
    pragma Convention (C, Interrupt_Handler);
 
diff --git a/gcc/ada/libgnarl/s-vxwext__kernel.ads b/gcc/ada/libgnarl/s-vxwext__kernel.ads
index 3c200a10033..6cecf182180 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 vx_freq_t is new unsigned;
+   --  Equivalent of the C type _Vx_freq_t
+
    type Interrupt_Handler is access procedure (parameter : System.Address);
    pragma Convention (C, Interrupt_Handler);
 
diff --git a/gcc/ada/libgnarl/s-vxwext__rtp.ads b/gcc/ada/libgnarl/s-vxwext__rtp.ads
index d13344eb7af..d955c9c30a5 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 vx_freq_t is new unsigned;
+   --  Equivalent of the C type _Vx_freq_t
+
    type Interrupt_Handler is access procedure (parameter : System.Address);
    pragma Convention (C, Interrupt_Handler);


More information about the Gcc-cvs mailing list