aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-12-01 11:00:52 +0000
committerSebastian Huber <sh@gcc.gnu.org>2017-12-01 11:00:52 +0000
commitb7d4abef36e8c462f52b081d8b0f8e05d76fdf68 (patch)
treea6073397219e37f671930378184bf9e887eb01b2 /gcc/ada
parent1500cb68c3d2a7b1ddc491af52a5d42ec7dfe6d8 (diff)
downloadgcc-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/ada')
-rw-r--r--gcc/ada/ChangeLog7
-rw-r--r--gcc/ada/libgnarl/s-osinte__rtems.ads18
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;