about summary refs log tree commit diff
path: root/misc/sys/cdefs.h
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@redhat.com>2016-06-10 14:40:38 -0400
committerCarlos O'Donell <carlos@redhat.com>2016-06-10 15:09:12 -0400
commite0835a5354aba6015648473a727823ea434a48e6 (patch)
tree7498d77fff23f65fb9df4030b98855f2fdb323f7 /misc/sys/cdefs.h
parent78880cc185dc521855a58001a28e3059722d8e85 (diff)
downloadglibc-e0835a5354aba6015648473a727823ea434a48e6.tar.gz
glibc-e0835a5354aba6015648473a727823ea434a48e6.tar.xz
glibc-e0835a5354aba6015648473a727823ea434a48e6.zip
Bug 20215: Always undefine __always_inline before defining it.
The Linux kernel defines __always_inline in stddef.h (283d7573),
and it conflicts with the definition in misc/sys/cdefs.h.  To fix
this we undefine it first and always use the glibc definition.
Diffstat (limited to 'misc/sys/cdefs.h')
-rw-r--r--misc/sys/cdefs.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h
index 7fd41549db..a3c2429b32 100644
--- a/misc/sys/cdefs.h
+++ b/misc/sys/cdefs.h
@@ -304,8 +304,13 @@
 
 /* Forces a function to be always inlined.  */
 #if __GNUC_PREREQ (3,2)
+/* The Linux kernel defines __always_inline in stddef.h (283d7573), and
+   it conflicts with this definition.  Therefore undefine it first to
+   allow either header to be included first.  */
+# undef __always_inline
 # define __always_inline __inline __attribute__ ((__always_inline__))
 #else
+# undef __always_inline
 # define __always_inline __inline
 #endif