Page MenuHomeFreeBSD

D9004.id23477.diff
No OneTemporary

D9004.id23477.diff

Index: include/err.h
===================================================================
--- include/err.h
+++ include/err.h
@@ -58,7 +58,7 @@
void warnx(const char *, ...) __printflike(1, 2);
void vwarnx(const char *, __va_list) __printflike(1, 0);
void err_set_file(void *);
-void err_set_exit(void (*)(int));
+void err_set_exit(void (* _Nullable)(int));
__END_DECLS
#endif /* !_ERR_H_ */
Index: include/signal.h
===================================================================
--- include/signal.h
+++ include/signal.h
@@ -104,7 +104,7 @@
int sigignore(int);
int sigpause(int);
int sigrelse(int);
-void (*sigset(int, void (*)(int)))(int);
+void (* _Nullable sigset(int, void (* _Nullable)(int)))(int);
int xsi_sigpause(int);
#endif
Index: include/stdio.h
===================================================================
--- include/stdio.h
+++ include/stdio.h
@@ -123,10 +123,10 @@
/* operations */
void *_cookie; /* (*) cookie passed to io functions */
- int (*_close)(void *);
- int (*_read)(void *, char *, int);
- fpos_t (*_seek)(void *, fpos_t, int);
- int (*_write)(void *, const char *, int);
+ int (* _Nullable _close)(void *);
+ int (* _Nullable _read)(void *, char *, int);
+ fpos_t (* _Nullable _seek)(void *, fpos_t, int);
+ int (* _Nullable _write)(void *, const char *, int);
/* separate buffer for long sequences of ungetc() */
struct __sbuf _ub; /* ungetc buffer */
@@ -390,10 +390,10 @@
* Stdio function-access interface.
*/
FILE *funopen(const void *,
- int (*)(void *, char *, int),
- int (*)(void *, const char *, int),
- fpos_t (*)(void *, fpos_t, int),
- int (*)(void *));
+ int (* _Nullable)(void *, char *, int),
+ int (* _Nullable)(void *, const char *, int),
+ fpos_t (* _Nullable)(void *, fpos_t, int),
+ int (* _Nullable)(void *));
#define fropen(cookie, fn) funopen(cookie, fn, 0, 0, 0)
#define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0)
Index: include/stdlib.h
===================================================================
--- include/stdlib.h
+++ include/stdlib.h
@@ -81,12 +81,12 @@
_Noreturn void abort(void);
int abs(int) __pure2;
-int atexit(void (*)(void));
+int atexit(void (* _Nonnull)(void));
double atof(const char *);
int atoi(const char *);
long atol(const char *);
void *bsearch(const void *, const void *, size_t,
- size_t, int (*)(const void *, const void *));
+ size_t, int (*)(const void * _Nonnull, const void *));
void *calloc(size_t, size_t) __malloc_like __result_use_check
__alloc_size(1) __alloc_size(2);
div_t div(int, int) __pure2;
@@ -100,7 +100,7 @@
size_t mbstowcs(wchar_t * __restrict , const char * __restrict, size_t);
int mbtowc(wchar_t * __restrict, const char * __restrict, size_t);
void qsort(void *, size_t, size_t,
- int (*)(const void *, const void *));
+ int (* _Nonnull)(const void *, const void *));
int rand(void);
void *realloc(void *, size_t) __result_use_check __alloc_size(2);
void srand(unsigned);
@@ -256,9 +256,9 @@
__uint32_t
arc4random_uniform(__uint32_t);
#ifdef __BLOCKS__
-int atexit_b(void (^)(void));
+int atexit_b(void (^ _Nonnull)(void));
void *bsearch_b(const void *, const void *, size_t,
- size_t, int (^)(const void *, const void *));
+ size_t, int (^ _Nonnull)(const void *, const void *));
#endif
char *getbsize(int *, long *);
/* getcap(3) functions */
@@ -282,11 +282,13 @@
const char *
getprogname(void);
-int heapsort(void *, size_t, size_t, int (*)(const void *, const void *));
+int heapsort(void *, size_t, size_t,
+ int (* _Nonnull)(const void *, const void *));
#ifdef __BLOCKS__
-int heapsort_b(void *, size_t, size_t, int (^)(const void *, const void *));
+int heapsort_b(void *, size_t, size_t,
+ int (^ _Nonnull)(const void *, const void *));
void qsort_b(void *, size_t, size_t,
- int (^)(const void *, const void *));
+ int (^ _Nonnull)(const void *, const void *));
#endif
int l64a_r(long, char *, int);
int mergesort(void *, size_t, size_t, int (*)(const void *, const void *));
Index: sys/sys/cdefs.h
===================================================================
--- sys/sys/cdefs.h
+++ sys/sys/cdefs.h
@@ -804,6 +804,16 @@
#endif
/*
+ * Nullability qualifiers: currently only supported by Clang.
+ */
+#if !__has_attribute(_Nonnull)
+#define _Nonnull
+#endif
+#if !__has_attribute(_Nullable)
+#define _Nullable
+#endif
+
+/*
* Type Safety Checking
*
* Clang provides additional attributes to enable checking type safety

File Metadata

Mime Type
text/plain
Expires
Tue, Feb 17, 12:38 PM (2 h, 26 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28813557
Default Alt Text
D9004.id23477.diff (4 KB)

Event Timeline