diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-12-01 11:00:52 +0000 |
---|---|---|
committer | Sebastian Huber <sh@gcc.gnu.org> | 2017-12-01 11:00:52 +0000 |
commit | b7d4abef36e8c462f52b081d8b0f8e05d76fdf68 (patch) | |
tree | a6073397219e37f671930378184bf9e887eb01b2 /gcc | |
parent | 1500cb68c3d2a7b1ddc491af52a5d42ec7dfe6d8 (diff) | |
download | gcc-b7d4abef36e8c462f52b081d8b0f8e05d76fdf68.zip gcc-b7d4abef36e8c462f52b081d8b0f8e05d76fdf68.tar.gz gcc-b7d4abef36e8c462f52b081d8b0f8e05d76fdf68.tar.bz2 |
RTEMS/Ada: Fix some POSIX types
gcc/ada
* libgnarl/s-osinte__rtems.ads (pthread_cond_t): Use correct size and
alignment.
(pthread_mutex_t): Likewise.
(pthread_rwlock_t): Likewise.
From-SVN: r255302
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ada/libgnarl/s-osinte__rtems.ads | 18 |
2 files changed, 22 insertions, 3 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 1b51bd6..319b095 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,10 @@ +2017-12-01 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * libgnarl/s-osinte__rtems.ads (pthread_cond_t): Use correct size and + alignment. + (pthread_mutex_t): Likewise. + (pthread_rwlock_t): Likewise. + 2017-11-28 Jakub Jelinek <jakub@redhat.com> * gcc-interface/trans.c (Case_Statement_to_gnu): Build SWITCH_EXPR diff --git a/gcc/ada/libgnarl/s-osinte__rtems.ads b/gcc/ada/libgnarl/s-osinte__rtems.ads index 43c0b77..2068cb3 100644 --- a/gcc/ada/libgnarl/s-osinte__rtems.ads +++ b/gcc/ada/libgnarl/s-osinte__rtems.ads @@ -659,11 +659,23 @@ private type pthread_t is new rtems_id; - type pthread_mutex_t is new rtems_id; + type pthread_mutex_t is record + Data : char_array (1 .. OS_Constants.PTHREAD_MUTEX_SIZE); + end record; + pragma Convention (C, pthread_mutex_t); + for pthread_mutex_t'Alignment use Interfaces.C.double'Alignment; - type pthread_rwlock_t is new rtems_id; + type pthread_rwlock_t is record + Data : char_array (1 .. OS_Constants.PTHREAD_RWLOCK_SIZE); + end record; + pragma Convention (C, pthread_rwlock_t); + for pthread_rwlock_t'Alignment use Interfaces.C.double'Alignment; - type pthread_cond_t is new rtems_id; + type pthread_cond_t is record + Data : char_array (1 .. OS_Constants.PTHREAD_COND_SIZE); + end record; + pragma Convention (C, pthread_cond_t); + for pthread_cond_t'Alignment use Interfaces.C.double'Alignment; type pthread_key_t is new rtems_id; |