Deleted Added
full compact
stdarg.h (121450) stdarg.h (143063)
1/*-
2 * Copyright (c) 2002 David E. O'Brien. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.

--- 11 unchanged lines hidden (view full) ---

20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 *
1/*-
2 * Copyright (c) 2002 David E. O'Brien. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.

--- 11 unchanged lines hidden (view full) ---

20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 *
28 * $FreeBSD: head/sys/amd64/include/stdarg.h 121450 2003-10-24 02:50:39Z peter $
28 * $FreeBSD: head/sys/amd64/include/stdarg.h 143063 2005-03-02 21:33:29Z joerg $
29 */
30
31#ifndef _MACHINE_STDARG_H_
32#define _MACHINE_STDARG_H_
33
34#include <sys/cdefs.h>
35#include <sys/_types.h>
36
37#ifndef _VA_LIST_DECLARED
38#define _VA_LIST_DECLARED
39typedef __va_list va_list;
40#endif
41
29 */
30
31#ifndef _MACHINE_STDARG_H_
32#define _MACHINE_STDARG_H_
33
34#include <sys/cdefs.h>
35#include <sys/_types.h>
36
37#ifndef _VA_LIST_DECLARED
38#define _VA_LIST_DECLARED
39typedef __va_list va_list;
40#endif
41
42#if defined(__GNUC__)
42#if defined(__GNUCLIKE_BUILTIN_STDARG)
43#define va_start(ap, last) \
44 __builtin_stdarg_start((ap), (last))
45
46#define va_arg(ap, type) \
47 __builtin_va_arg((ap), type)
48
49#define __va_copy(dest, src) \
50 __builtin_va_copy((dest), (src))

--- 11 unchanged lines hidden (view full) ---

62#define __va_size(type) \
63 (((sizeof(type) + sizeof(long) - 1) / sizeof(long)) * sizeof(long))
64#define va_start(ap, last) \
65 ((ap) = (va_list)&(last) + __va_size(last))
66#define va_arg(ap, type) \
67 (*(type *)((ap) += __va_size(type), (ap) - __va_size(type)))
68#define va_end(ap)
69
43#define va_start(ap, last) \
44 __builtin_stdarg_start((ap), (last))
45
46#define va_arg(ap, type) \
47 __builtin_va_arg((ap), type)
48
49#define __va_copy(dest, src) \
50 __builtin_va_copy((dest), (src))

--- 11 unchanged lines hidden (view full) ---

62#define __va_size(type) \
63 (((sizeof(type) + sizeof(long) - 1) / sizeof(long)) * sizeof(long))
64#define va_start(ap, last) \
65 ((ap) = (va_list)&(last) + __va_size(last))
66#define va_arg(ap, type) \
67 (*(type *)((ap) += __va_size(type), (ap) - __va_size(type)))
68#define va_end(ap)
69
70#else
71#error this file needs to be ported to your compiler
70#endif
71
72#endif /* !_MACHINE_STDARG_H_ */
72#endif
73
74#endif /* !_MACHINE_STDARG_H_ */