From owner-p4-projects@FreeBSD.ORG Fri May 9 15:12:47 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A1E337B404; Fri, 9 May 2003 15:12:47 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CD87D37B401 for ; Fri, 9 May 2003 15:12:46 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7577B43FD7 for ; Fri, 9 May 2003 15:12:46 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h49MCk0U096434 for ; Fri, 9 May 2003 15:12:46 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h49MCkkp096431 for perforce@freebsd.org; Fri, 9 May 2003 15:12:46 -0700 (PDT) Date: Fri, 9 May 2003 15:12:46 -0700 (PDT) Message-Id: <200305092212.h49MCkkp096431@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 30885 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 May 2003 22:12:48 -0000 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_ */