summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2021-01-23 10:19:24 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2021-01-23 11:22:56 -0800
commit195a10b512067f18c79da0b2184689bc5520517c (patch)
tree3282f49d7c18bf4900e55f6cb79eac3c8221eea8 /lib
parentcd1b752fa6c5e0aa677f44843ebbe896c10d58ca (diff)
downloadgnulib-195a10b512067f18c79da0b2184689bc5520517c.tar.gz
libc-config: port to Xcode 7
Problem reported by Mattias Engdegård in: https://lists.gnu.org/r/emacs-devel/2021-01/msg01089.html * lib/cdefs.h (__nonnull): If already defined but glibc is not in use, override the definition with Gnulib’s _GL_ATTRIBUTE_NONNULL. This is needed for Xcode 7, which has a ‘#define __nonnull _Nonnull’ builtin for backwards-compatibility with an older Xcode syntax that GNUish code never uses.
Diffstat (limited to 'lib')
-rw-r--r--lib/cdefs.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/cdefs.h b/lib/cdefs.h
index 060a3d0689..6f12c79da6 100644
--- a/lib/cdefs.h
+++ b/lib/cdefs.h
@@ -320,14 +320,16 @@
#endif
/* The nonnull function attribute marks pointer parameters that
- must not be NULL. Do not define __nonnull if it is already defined,
- for portability when this file is used in Gnulib. */
+ must not be NULL. */
#ifndef __nonnull
# if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__)
# define __nonnull(params) __attribute__ ((__nonnull__ params))
# else
# define __nonnull(params)
# endif
+#elif !defined __GLIBC__
+# undef __nonnull
+# define __nonnull(params) _GL_ATTRIBUTE_NONNULL (params)
#endif
/* If fortification mode, we warn about unused results of certain