summaryrefslogtreecommitdiffabout
authorPaul Eggert <eggert@cs.ucla.edu>2021-01-23 18:19:24 (GMT)
committer Paul Eggert <eggert@cs.ucla.edu>2021-01-23 19:22:56 (GMT)
commit195a10b512067f18c79da0b2184689bc5520517c (patch) (side-by-side diff)
tree3282f49d7c18bf4900e55f6cb79eac3c8221eea8
parentcd1b752fa6c5e0aa677f44843ebbe896c10d58ca (diff)
downloadgnulib-195a10b512067f18c79da0b2184689bc5520517c.tar.gz
gnulib-195a10b512067f18c79da0b2184689bc5520517c.tar.bz2
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 (more/less context) (ignore whitespace changes)
-rw-r--r--ChangeLog11
-rw-r--r--lib/cdefs.h6
2 files changed, 15 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index b1b8135..43d1a16 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2021-01-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ 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.
+
2021-01-23 Bastien Roucariès <rouca@debian.org>
explicit_bzero: Add fallback for other compilers.
diff --git a/lib/cdefs.h b/lib/cdefs.h
index 060a3d0..6f12c79 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

Return to:

Send suggestions and report system problems to the System administrator.