aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@systemhalted.org>2015-02-05 21:33:03 -0500
committerCarlos O'Donell <carlos@systemhalted.org>2015-02-05 21:37:47 -0500
commit3f823f488a4db8d048892af1a7ee992aab770e5a (patch)
treec35bb819cad653780e3778de1bd2cc7c6ec29962 /sysdeps/unix/sysv/linux/hppa/bits/atomic.h
parent34c5604814cb97264aa2393800967b0b0e4585cd (diff)
downloadglibc-3f823f488a4db8d048892af1a7ee992aab770e5a.tar
glibc-3f823f488a4db8d048892af1a7ee992aab770e5a.tar.gz
glibc-3f823f488a4db8d048892af1a7ee992aab770e5a.tar.bz2
glibc-3f823f488a4db8d048892af1a7ee992aab770e5a.zip
hppa: Remove warnings and fix conformance errors.
(1) Fix warnings. This is a bulk update to fix all the warnings that were causing build failures with -Werror on hppa. The most egregious problems are in dl-fptr.c which needs to be entirely rewritten, thus I've used -Wno-error for that. (2) Fix conformance errors. The sysdep.c file had __syscall_error and syscall in one file which caused conformance issues by including syscall when __syscall_error was linked to. The fix is obviously to split the file and use syscall.c to implement syscall.
Diffstat (limited to 'sysdeps/unix/sysv/linux/hppa/bits/atomic.h')
-rw-r--r--sysdeps/unix/sysv/linux/hppa/bits/atomic.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/hppa/bits/atomic.h b/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
index 9550196f77..abde83e2f9 100644
--- a/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
+++ b/sysdeps/unix/sysv/linux/hppa/bits/atomic.h
@@ -67,7 +67,7 @@ typedef uintmax_t uatomic_max_t;
# define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
({ \
volatile int lws_errno; \
- volatile int lws_ret; \
+ __typeof__ (*mem) lws_ret; \
asm volatile( \
"0: \n\t" \
"copy %2, %%r26 \n\t" \
@@ -96,10 +96,10 @@ typedef uintmax_t uatomic_max_t;
# define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
({ \
- int ret; \
+ __typeof__ (*mem) ret; \
ret = atomic_compare_and_exchange_val_acq(mem, newval, oldval); \
/* Return 1 if it was already acquired. */ \
- (ret != (int)oldval); \
+ (ret != oldval); \
})
#else
# error __ASSUME_LWS_CAS is required to build glibc.