diff options
author | Warner Losh <imp@FreeBSD.org> | 2018-02-12 14:48:05 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2018-02-12 14:48:05 +0000 |
commit | 33e959abab3e023b06f1248d4e566c13517a0450 (patch) | |
tree | e19eb3a66dcee85db981941d7b6a8c38129a93b4 /sys/sparc64/include/stdarg.h | |
parent | 58a6aaf7ec41aa4ea4f3d8d752a8f03f4432bc25 (diff) | |
download | src-33e959abab3e023b06f1248d4e566c13517a0450.tar.gz src-33e959abab3e023b06f1248d4e566c13517a0450.zip |
Use standard pattern for stdargs.h
We don't support older compilers. Most of the code in these files is
for pre-3.0 gcc, which is at least 15 years obsolete. Move to using
phk's sys/_stdargs.h for all these platforms.
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D14323
Notes
Notes:
svn path=/head/; revision=329163
Diffstat (limited to 'sys/sparc64/include/stdarg.h')
-rw-r--r-- | sys/sparc64/include/stdarg.h | 78 |
1 files changed, 7 insertions, 71 deletions
diff --git a/sys/sparc64/include/stdarg.h b/sys/sparc64/include/stdarg.h index d151f1934787..acb526429ac2 100644 --- a/sys/sparc64/include/stdarg.h +++ b/sys/sparc64/include/stdarg.h @@ -1,18 +1,7 @@ /*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * SPDX-License-Identifier: BSD-2-Clause * - * Copyright (c) 2002 David E. O'Brien. All rights reserved. - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Lawrence Berkeley Laboratory. + * Copyright (c) 2017 Poul-Henning Kamp. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -23,10 +12,10 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) @@ -35,69 +24,16 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)stdarg.h 8.2 (Berkeley) 9/27/93 - * $NetBSD: stdarg.h,v 1.11 2000/07/23 21:36:56 mycroft Exp $ * $FreeBSD$ */ #ifndef _MACHINE_STDARG_H_ #define _MACHINE_STDARG_H_ -#include <sys/cdefs.h> -#include <sys/_types.h> - -#ifndef _VA_LIST_DECLARED -#define _VA_LIST_DECLARED -typedef __va_list va_list; -#endif - -#ifdef __GNUCLIKE_BUILTIN_STDARG - -#define va_start(ap, last) \ - __builtin_va_start((ap), (last)) - -#define va_arg(ap, type) \ - __builtin_va_arg((ap), type) - -#if __ISO_C_VISIBLE >= 1999 -#define va_copy(dest, src) \ - __builtin_va_copy((dest), (src)) -#endif - -#define va_end(ap) \ - __builtin_va_end(ap) +#include <sys/_stdarg.h> -#else /* ! __GNUCLIKE_BUILTIN_STDARG */ - -#if !defined(__GNUCLIKE_BUILTIN_NEXT_ARG) && !defined(lint) -#error no support for your compiler +#ifndef va_start + #error this file needs to be ported to your compiler #endif -#define va_start(ap, last) \ - (__builtin_next_arg(last), (ap) = (va_list)__builtin_saveregs()) - -#define va_end(ap) - -#define __va_arg8(ap, type) \ - (*(type *)(void *)((ap) += 8, (ap) - 8)) -#define __va_arg16(ap, type) \ - (*(type *)(void *)((ap) = (va_list)(((unsigned long)(ap) + 31) & -16),\ - (ap) - 16)) -#define __va_int(ap, type) \ - (*(type *)(void *)((ap) += 8, (ap) - sizeof(type))) - -#define __REAL_TYPE_CLASS 8 -#define __RECORD_TYPE_CLASS 12 -#define va_arg(ap, type) \ - (__builtin_classify_type(*(type *)0) == __REAL_TYPE_CLASS ? \ - (__alignof__(type) == 16 ? __va_arg16(ap, type) : \ - __va_arg8(ap, type)) : \ - (__builtin_classify_type(*(type *)0) < __RECORD_TYPE_CLASS ? \ - __va_int(ap, type) : \ - (sizeof(type) <= 8 ? __va_arg8(ap, type) : \ - (sizeof(type) <= 16 ? __va_arg16(ap, type) : \ - *__va_arg8(ap, type *))))) - -#endif /* __GNUCLIKE_BUILTIN_STDARG */ - #endif /* !_MACHINE_STDARG_H_ */ |