Date: Fri, 9 May 2003 15:12:46 -0700 (PDT) From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 30885 for review Message-ID: <200305092212.h49MCkkp096431@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=30885 Change 30885 by peter@peter_hammer on 2003/05/09 15:12:05 Provide a fake stdarg implementation for lint's benefit so that it can see how it is supposed to work. lint doesn't know that this is totally bogus though (and doesn't need to). Affected files ... .. //depot/projects/hammer/sys/amd64/include/_types.h#4 edit .. //depot/projects/hammer/sys/amd64/include/stdarg.h#3 edit Differences ... ==== //depot/projects/hammer/sys/amd64/include/_types.h#4 (text+ko) ==== @@ -96,7 +96,11 @@ /* * Unusual type definitions. */ +#if defined(__GNUC__) typedef __builtin_va_list __va_list; /* internally known to gcc */ +#elif defined(lint) +typedef char * __va_list; /* pretend */ +#endif #if defined __GNUC__ && !defined(__GNUC_VA_LIST) && !defined(__NO_GNUC_VA_LIST) #define __GNUC_VA_LIST typedef __va_list __gnuc_va_list; /* compatibility w/GNU headers*/ ==== //depot/projects/hammer/sys/amd64/include/stdarg.h#3 (text+ko) ==== @@ -39,6 +39,7 @@ typedef __va_list va_list; #endif +#if defined(__GNUC__) #define va_start(ap, last) \ __builtin_stdarg_start((ap), (last)) @@ -53,4 +54,16 @@ #define va_end(ap) \ __builtin_va_end(ap) +#elif defined(lint) +/* Provide a fake implementation for lint's benefit */ +#define __va_size(type) \ + (((sizeof(type) + sizeof(long) - 1) / sizeof(long)) * sizeof(long)) +#define va_start(ap, last) \ + ((ap) = (va_list)&(last) + __va_size(last)) +#define va_arg(ap, type) \ + (*(type *)((ap) += __va_size(type), (ap) - __va_size(type))) +#define va_end(ap) + +#endif + #endif /* !_MACHINE_STDARG_H_ */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200305092212.h49MCkkp096431>