varargs.h (86556) | varargs.h (96317) |
---|---|
1/* | 1/* |
2 * Copyright (c) 2002 David E. O'Brien. All rights reserved. |
|
2 * Copyright (c) 1992, 1993 3 * The Regents of the University of California. All rights reserved. 4 * (c) UNIX System Laboratories, Inc. 5 * All or some portions of this file are derived from material licensed 6 * to the University of California by American Telephone and Telegraph 7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 8 * the permission of UNIX System Laboratories, Inc. 9 * --- 29 unchanged lines hidden (view full) --- 39 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 40 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 41 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 42 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 43 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 44 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 45 * SUCH DAMAGE. 46 * | 3 * Copyright (c) 1992, 1993 4 * The Regents of the University of California. All rights reserved. 5 * (c) UNIX System Laboratories, Inc. 6 * All or some portions of this file are derived from material licensed 7 * to the University of California by American Telephone and Telegraph 8 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 9 * the permission of UNIX System Laboratories, Inc. 10 * --- 29 unchanged lines hidden (view full) --- 40 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 41 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 42 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 43 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 44 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 45 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 46 * SUCH DAMAGE. 47 * |
47 * from: @(#)varargs.h 8.3 (Berkeley) 3/22/94 48 * $FreeBSD: head/sys/sparc64/include/varargs.h 86556 2001-11-18 20:30:16Z jake $ | 48 * @(#)varargs.h 8.3 (Berkeley) 3/22/94 49 * $FreeBSD: head/sys/sparc64/include/varargs.h 96317 2002-05-10 02:02:54Z obrien $ |
49 */ 50 | 50 */ 51 |
52#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3) 53 54#include <machine/ansi.h> 55 56typedef _BSD_VA_LIST_ va_list; 57typedef int __builtin_va_alist_t __attribute__((__mode__(__word__))); 58 59#define va_alist __builtin_va_alist 60#define va_dcl __builtin_va_alist_t __builtin_va_alist; ... 61#define va_start(ap) __builtin_varargs_start(ap) 62#define va_arg(ap, type) __builtin_va_arg((ap), type) 63#define va_end(ap) __builtin_va_end(ap) 64 65#else /* ! __GNUC__ post GCC 2.95 */ 66 |
|
51#ifndef _MACHINE_VARARGS_H_ 52#define _MACHINE_VARARGS_H_ 53 54#include <machine/stdarg.h> 55 56#if __GNUC__ == 1 57#define __va_ellipsis 58#else 59#define __va_ellipsis ... 60#endif 61 62#define va_alist __builtin_va_alist 63#define va_dcl long __builtin_va_alist; __va_ellipsis 64 65#undef va_start 66#define va_start(ap) \ 67 ((ap) = (va_list)__builtin_saveregs()) 68 | 67#ifndef _MACHINE_VARARGS_H_ 68#define _MACHINE_VARARGS_H_ 69 70#include <machine/stdarg.h> 71 72#if __GNUC__ == 1 73#define __va_ellipsis 74#else 75#define __va_ellipsis ... 76#endif 77 78#define va_alist __builtin_va_alist 79#define va_dcl long __builtin_va_alist; __va_ellipsis 80 81#undef va_start 82#define va_start(ap) \ 83 ((ap) = (va_list)__builtin_saveregs()) 84 |
85#endif /* __GNUC__ post GCC 2.95 */ 86 |
|
69#endif /* !_MACHINE_VARARGS_H_ */ | 87#endif /* !_MACHINE_VARARGS_H_ */ |