Lines Matching refs:TYPE
52 /* We cast to void * and then to TYPE * because this avoids
54 #define __VA_FP_REGSAVE(AP,OFS,TYPE) \
55 ((TYPE *) (void *) (&(((__va_regsave_t *) \
58 #define __VA_GP_REGSAVE(AP,OFS,TYPE) \
59 ((TYPE *) (void *) (&(((__va_regsave_t *) \
86 #define __va_float_p(TYPE) 0
88 #define __va_float_p(TYPE) (__builtin_classify_type(*(TYPE *)0) == 8)
91 #define __va_aggregate_p(TYPE) (__builtin_classify_type(*(TYPE *)0) >= 12)
92 #define __va_size(TYPE) ((sizeof(TYPE) + sizeof (long) - 1) / sizeof (long))
107 #define va_arg(AP,TYPE) \
109 register TYPE *__ptr; \
111 if (__va_float_p (TYPE) && sizeof (TYPE) < 16) \
116 __ptr = __VA_FP_REGSAVE (AP, __fpr, TYPE); \
119 else if (sizeof (TYPE) == 8) \
122 __ptr = (TYPE *)((__addr + 7) & -8); \
133 else if (__va_aggregate_p (TYPE) || __va_float_p (TYPE)) \
138 __ptr = * __VA_GP_REGSAVE (AP, __gpr, TYPE *); \
143 TYPE **__pptr = (TYPE **) (__va_overflow (AP)); \
153 if (sizeof (TYPE) == 8) \
159 __ptr = __VA_GP_REGSAVE (AP, __gpr, TYPE); \
165 __ptr = (TYPE *)((__addr + 7) & -8); \
170 else if (sizeof (TYPE) == 4) \
175 __ptr = __VA_GP_REGSAVE (AP, __gpr, TYPE); \
180 __ptr = (TYPE *) __va_overflow (AP); \
240 #define __va_rounded_size(TYPE) ((sizeof (TYPE) + 3) & ~3)
241 #define __va_align(AP, TYPE) \
242 ((((unsigned long)(AP)) + ((sizeof (TYPE) >= 8) ? 7 : 3)) \
243 & ~((sizeof (TYPE) >= 8) ? 7 : 3))
245 #define va_arg(AP,TYPE) \
246 ( *(TYPE *)((AP = (char *) (__va_align(AP, TYPE) \
247 + __va_rounded_size(TYPE))) \
248 - __va_rounded_size(TYPE)))