]> sourceware.org Git - newlib-cygwin.git/commitdiff
Addition of clang nullability qualifiers.
authorpfg <pfg@FreeBSD.org>
Tue, 4 Apr 2017 07:04:55 +0000 (09:04 +0200)
committerCorinna Vinschen <corinna@vinschen.de>
Tue, 4 Apr 2017 09:44:03 +0000 (11:44 +0200)
Add two new qualifiers for use by the static checkers:

_Nonnull
The _Nonnull nullability qualifier indicates that null is not a meaningful
value for a value of the _Nonnull pointer type.

_Nullable
The _Nullable nullability qualifier indicates that a value of the
_Nullable pointer type can be null.

These were introduced in Clang 3.7. For more information, see:
http://clang.llvm.org/docs/AttributeReference.html#nonnull

We add these now without using them so that the GCC ports have time to
pick up the header change.

Hinted by: Android Bionic libc [1]
Also seen in: Apple's Libc-1158.20.4

[1]
https://github.com/android/platform_bionic/commit/baa2a973bd776a51bb05a8590ab05d86eea7b321

newlib/libc/include/sys/cdefs.h

index 68172ad657daa93ee9ccd712b85d520415b5522e..ad23232645aadb9e7dc0c8da70194068b6ed4aa5 100644 (file)
 #define        __DEQUALIFY(type, var)  ((type)(__uintptr_t)(const volatile void *)(var))
 #endif
 
+/*
+ * Nullability qualifiers: currently only supported by Clang.
+ */
+#if !(defined(__clang__) && __has_feature(nullability))
+#define        _Nonnull
+#define        _Nullable
+#endif
+
 /*
  * Type Safety Checking
  *
This page took 0.03036 seconds and 5 git commands to generate.