Annotation of gcc/stdarg.h, revision 1.1.1.3

1.1       root        1: #ifndef _STDARG_H
                      2: #define _STDARG_H
                      3: 
                      4: typedef char *va_list;
                      5: 
                      6: /* Amount of space required in an argument list for an arg of type TYPE.
                      7:    TYPE may alternatively be an expression whose type is used.  */
                      8: 
                      9: #define __va_rounded_size(TYPE)  \
                     10:   (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
                     11: 
1.1.1.3 ! root       12: #ifndef __sparc__
1.1       root       13: #define va_start(AP, LASTARG)                                          \
                     14:  (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG)))
1.1.1.2   root       15: #else
                     16: #define va_start(AP, LASTARG)                                          \
                     17:  (__builtin_saveregs (),                                               \
                     18:   AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG)))
                     19: #endif
1.1       root       20: 
                     21: void va_end (va_list);         /* Defined in gnulib */
                     22: #define va_end(AP)
                     23: 
                     24: #define va_arg(AP, TYPE)                                               \
                     25:  (AP += __va_rounded_size (TYPE),                                      \
                     26:   *((TYPE *) (AP - __va_rounded_size (TYPE))))
                     27: 
                     28: #endif /* _STDARG_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.