Author: pfg
Date: Sun Mar 29 03:16:52 2015
New Revision: 280801
URL: https://svnweb.freebsd.org/changeset/base/280801

Log:
  cdefs.h: Fix macros for pre-C99 compilers.
  
  Older compilers, and compatibility modes, may not support variadic macros.
  I normally wouldn't go out of my way to support those old compilers but
  there is a prescendent in other system headers for using the same macro
  multiple times, and the solution (although non-elegant IMHO) works.
  
  Requested by: bde
  Solution by:  tijl

Modified:
  head/sys/sys/cdefs.h

Modified: head/sys/sys/cdefs.h
==============================================================================
--- head/sys/sys/cdefs.h        Sat Mar 28 23:42:59 2015        (r280800)
+++ head/sys/sys/cdefs.h        Sun Mar 29 03:16:52 2015        (r280801)
@@ -359,9 +359,11 @@
 #endif
 
 #if __GNUC_PREREQ__(3, 3)
-#define        __nonnull(...)  __attribute__((__nonnull__(__VA_ARGS__)))
+#define        __nonnull(x)    __attribute__((__nonnull__(x)))
+#define        __nonnull_all   __attribute__((__nonnull__))
 #else
-#define        __nonnull(...)
+#define        __nonnull(x)
+#define        __nonnull_all
 #endif
 
 #if __GNUC_PREREQ__(3, 4)
@@ -379,9 +381,9 @@
 #endif
 
 #if __has_attribute(alloc_size) || __GNUC_PREREQ__(4, 3)
-#define        __alloc_size(...)       
__attribute__((__alloc_size__(__VA_ARGS__)))
+#define        __alloc_size(x) __attribute__((__alloc_size__(x)))
 #else
-#define        __alloc_size(...)
+#define        __alloc_size(x)
 #endif
 
 /* XXX: should use `#if __STDC_VERSION__ < 199901'. */
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to