summaryrefslogtreecommitdiffstats
path: root/winsup
diff options
context:
space:
mode:
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/winbase.h4
2 files changed, 7 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index dcabc2992..e3163bba3 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2009-07-07 Dave Korn <dave.korn.cygwin@gmail.com>
+ * winbase.h (ilockexch): Avoid making 'ret' volatile.
+ (ilockcmpexch): Likewise.
+
+2009-07-07 Dave Korn <dave.korn.cygwin@gmail.com>
+
* Makefile.in (DLL_OFILES): Add libstdcxx_wrapper.o
(libstdcxx_wrapper_CFLAGS): Add flags for new module.
(_cygwin_crt0_common_STDINCFLAGS): Define per-file override.
diff --git a/winsup/cygwin/winbase.h b/winsup/cygwin/winbase.h
index eec196d53..00c71a923 100644
--- a/winsup/cygwin/winbase.h
+++ b/winsup/cygwin/winbase.h
@@ -40,7 +40,7 @@ ilockexch (volatile long *t, long v)
{
return
({
- register __typeof (*t) ret __asm ("%eax");
+ register long ret __asm ("%eax");
__asm __volatile ("\n"
"1: lock cmpxchgl %2, %1\n"
" jne 1b\n"
@@ -56,7 +56,7 @@ ilockcmpexch (volatile long *t, long v, long c)
{
return
({
- register __typeof (*t) ret __asm ("%eax");
+ register long ret __asm ("%eax");
__asm __volatile ("lock cmpxchgl %2, %1"
: "=a" (ret), "=m" (*t)
: "r" (v), "m" (*t), "0" (c)