summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/ia64/bits
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/ia64/bits')
-rw-r--r--libc/sysdeps/linux/ia64/bits/syscalls.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/libc/sysdeps/linux/ia64/bits/syscalls.h b/libc/sysdeps/linux/ia64/bits/syscalls.h
index 90297596b..ae09687de 100644
--- a/libc/sysdeps/linux/ia64/bits/syscalls.h
+++ b/libc/sysdeps/linux/ia64/bits/syscalls.h
@@ -62,6 +62,7 @@
_retval = _r8;
#define INLINE_SYSCALL_NCS(name, nr, args...) \
+(__extension__ \
({ \
DO_INLINE_SYSCALL_NCS (name, nr, args) \
if (unlikely (_r10 == -1)) \
@@ -69,16 +70,20 @@
__set_errno (_retval); \
_retval = -1; \
} \
- _retval; })
+ _retval; \
+ }) \
+)
#define INTERNAL_SYSCALL_DECL(err) long int err
#define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \
+(__extension__ \
({ \
DO_INLINE_SYSCALL_NCS (name, nr, args) \
err = _r10; \
- _retval; })
-
+ _retval; \
+ }) \
+)
#define INTERNAL_SYSCALL_ERROR_P(val, err) (err == -1)
#define INTERNAL_SYSCALL_ERRNO(val, err) (val)