<sys/cdefs.h>: Make __nonnull variadic.
authorSascha Wildner <saw@online.de>
Fri, 26 Jan 2018 17:20:15 +0000 (18:20 +0100)
committerSascha Wildner <saw@online.de>
Fri, 26 Jan 2018 17:21:21 +0000 (18:21 +0100)
Make use of it in the remaining __nonnull decorations we have.

include/pthread.h
sys/sys/cdefs.h
sys/sys/systm.h

index 991ecaa..dba7b30 100644 (file)
@@ -184,11 +184,10 @@ int       pthread_cond_init(pthread_cond_t *, const pthread_condattr_t *)
 int    pthread_cond_signal(pthread_cond_t *) __nonnull(1);
 int    pthread_cond_timedwait(pthread_cond_t *, pthread_mutex_t *,
                               const struct timespec *) __nonnull(2);
-int    pthread_cond_wait(pthread_cond_t *, pthread_mutex_t *)
-                         __nonnull(1) __nonnull(2);
+int    pthread_cond_wait(pthread_cond_t *, pthread_mutex_t *) __nonnull(1, 2);
 
 int    pthread_create(pthread_t *, const pthread_attr_t *,
-                      void *(*) (void *), void *) __nonnull(1) __nonnull(3);
+                      void *(*) (void *), void *) __nonnull(13);
 int    pthread_detach(pthread_t);
 int    pthread_equal(pthread_t, pthread_t);
 void   pthread_exit(void *) __dead2;
@@ -220,9 +219,9 @@ int pthread_rwlock_init(pthread_rwlock_t *, const pthread_rwlockattr_t *)
                            __nonnull(1);
 int    pthread_rwlock_rdlock(pthread_rwlock_t *) __nonnull(1);
 int    pthread_rwlock_timedrdlock(pthread_rwlock_t *, const struct timespec *)
-                                  __nonnull(1) __nonnull(2);
+                                  __nonnull(12);
 int    pthread_rwlock_timedwrlock(pthread_rwlock_t *, const struct timespec *)
-                                  __nonnull(1) __nonnull(2);
+                                  __nonnull(12);
 int    pthread_rwlock_tryrdlock(pthread_rwlock_t *);
 int    pthread_rwlock_trywrlock(pthread_rwlock_t *);
 int    pthread_rwlock_unlock(pthread_rwlock_t *);
@@ -230,7 +229,7 @@ int pthread_rwlock_wrlock(pthread_rwlock_t *) __nonnull(1);
 
 int    pthread_rwlockattr_destroy(pthread_rwlockattr_t *);
 int    pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *, int *)
-                                     __nonnull(1) __nonnull(2);
+                                     __nonnull(12);
 int    pthread_rwlockattr_init(pthread_rwlockattr_t *);
 int    pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int) __nonnull(1);
 
index 612fa0a..2b5e31f 100644 (file)
 #define        __alloc_size(x)
 #define        __section(x)
 #define        __always_inline
-#define        __nonnull(x)
+#define        __nonnull(...)
 #define        __heedresult
 #define        __malloclike
 #define        __returns_twice
 #endif
 
 #if __GNUC_PREREQ__(3, 3)
-#define        __nonnull(x)    __attribute__((__nonnull__(x)))
+#define        __nonnull(...)  __attribute__((__nonnull__(__VA_ARGS__)))
 #define        __used          __attribute__((__used__))
 #else
-#define        __nonnull(x)
+#define        __nonnull(...)
 #define        __used          __unused
 #endif
 
index 049f309..dd0ecb0 100644 (file)
@@ -223,9 +223,9 @@ void        kprint_cpuset(cpumask_t *mask);
 #define        HD_OMIT_HEX     (1 << 17)
 #define        HD_OMIT_CHARS   (1 << 18)
 int    ksscanf(const char *, char const *, ...)
-           __nonnull(1) __nonnull(2) __scanflike(2, 3);
+           __nonnull(12) __scanflike(2, 3);
 int    kvsscanf(const char *, char const *, __va_list)
-           __nonnull(1) __nonnull(2) __scanflike(2, 0);
+           __nonnull(12) __scanflike(2, 0);
 void   kvasfree(char **);
 
 long   strtol(const char *, char **, int) __nonnull(1);
@@ -238,26 +238,24 @@ u_quad_t strtouq(const char *, char **, int) __nonnull(1);
  * pointers to volatile storage, volatile set to avoid warnings.
  */
 void   bcopy(volatile const void *from, volatile void *to, size_t len)
-           __nonnull(1) __nonnull(2);
+           __nonnull(12);
 void   bzero(volatile void *buf, size_t len) __nonnull(1);
 void   bzeront(volatile void *buf, size_t len) __nonnull(1);
 void   *memcpy(void *to, const void *from, size_t len)
-           __nonnull(1) __nonnull(2);
+           __nonnull(12);
 
 long   kreadmem64(const void *addr);
 
 int    copystr (const void *kfaddr, void *kdaddr, size_t len,
-               size_t *lencopied) __nonnull(1) __nonnull(2);
+               size_t *lencopied) __nonnull(12);
 int    copyinstr (const void *udaddr, void *kaddr, size_t len,
-               size_t *lencopied) __nonnull(1) __nonnull(2);
-int    copyin(const void *udaddr, void *kaddr, size_t len)
-           __nonnull(1) __nonnull(2);
+               size_t *lencopied) __nonnull(1, 2);
+int    copyin(const void *udaddr, void *kaddr, size_t len) __nonnull(1, 2);
 int    copyin_nofault(const void *udaddr, void *kaddr, size_t len)
-           __nonnull(1) __nonnull(2);
-int    copyout(const void *kaddr, void *udaddr, size_t len)
-           __nonnull(1) __nonnull(2);
+           __nonnull(1, 2);
+int    copyout(const void *kaddr, void *udaddr, size_t len) __nonnull(1, 2);
 int    copyout_nofault(const void *kaddr, void *udaddr, size_t len)
-           __nonnull(1) __nonnull(2);
+           __nonnull(12);
 
 int    fubyte (const uint8_t *base);
 int    subyte (uint8_t *base, uint8_t byte);