aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2012-12-01 19:43:04 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2012-12-01 19:43:04 +0000
commitc88fe5d23861e2a35731616bd4f2f89db2e06571 (patch)
tree1395bb39585dbc0d075d7443764324b8bc35e765
parent27ba7cea69be0dd1cc9f43baca7643a36e86356e (diff)
downloadgcc-c88fe5d23861e2a35731616bd4f2f89db2e06571.zip
gcc-c88fe5d23861e2a35731616bd4f2f89db2e06571.tar.gz
gcc-c88fe5d23861e2a35731616bd4f2f89db2e06571.tar.bz2
re PR ada/52110 (s-osinte.ads:447:09: "clockid_t" conflicts with declaration at line 194)
PR ada/52110 * s-osinte-hpux-dce.ads: Declare pthread_rwlockattr_t and pthread_rwlock_t subtypes. Delete duplicate declaration of clockid_t. * s-taspri-hpux-dce.ads: Change "pragma Atomic (Thread)" to comment. From-SVN: r194024
-rw-r--r--gcc/ada/ChangeLog7
-rw-r--r--gcc/ada/s-osinte-hpux-dce.ads9
-rw-r--r--gcc/ada/s-taspri-hpux-dce.ads4
3 files changed, 18 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 6aec494..57077d0 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,10 @@
+2012-12-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/52110
+ * s-osinte-hpux-dce.ads: Declare pthread_rwlockattr_t and
+ pthread_rwlock_t subtypes. Delete duplicate declaration of clockid_t.
+ * s-taspri-hpux-dce.ads: Change "pragma Atomic (Thread)" to comment.
+
2012-11-28 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
diff --git a/gcc/ada/s-osinte-hpux-dce.ads b/gcc/ada/s-osinte-hpux-dce.ads
index 3b156a2..e6ee0ed 100644
--- a/gcc/ada/s-osinte-hpux-dce.ads
+++ b/gcc/ada/s-osinte-hpux-dce.ads
@@ -244,6 +244,14 @@ package System.OS_Interface is
type pthread_condattr_t is limited private;
type pthread_key_t is private;
+ -- Read/Write lock not supported on HPUX. To add support both types
+ -- pthread_rwlock_t and pthread_rwlockattr_t must properly be defined
+ -- with the associated routines pthread_rwlock_[init/destroy] and
+ -- pthread_rwlock_[rdlock/wrlock/unlock].
+
+ subtype pthread_rwlock_t is pthread_mutex_t;
+ subtype pthread_rwlockattr_t is pthread_mutexattr_t;
+
-----------
-- Stack --
-----------
@@ -444,7 +452,6 @@ private
end record;
pragma Convention (C, timespec);
- type clockid_t is new int;
CLOCK_REALTIME : constant clockid_t := 1;
type cma_t_address is new System.Address;
diff --git a/gcc/ada/s-taspri-hpux-dce.ads b/gcc/ada/s-taspri-hpux-dce.ads
index 9d51d5c..6cde347 100644
--- a/gcc/ada/s-taspri-hpux-dce.ads
+++ b/gcc/ada/s-taspri-hpux-dce.ads
@@ -102,7 +102,9 @@ private
type Private_Data is record
Thread : aliased System.OS_Interface.pthread_t;
- pragma Atomic (Thread);
+ -- pragma Atomic (Thread);
+ -- Unfortunately, the above fails because Thread is 64 bits.
+
-- Thread field may be updated by two different threads of control.
-- (See, Enter_Task and Create_Task in s-taprop.adb). They put the
-- same value (thr_self value). We do not want to use lock on those