/* Test support of scalar_storage_order attribute */ | |
/* { dg-do compile } */ | |
#include <stdarg.h> | |
int x; | |
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ | |
struct __attribute__((scalar_storage_order("big-endian"))) Rec | |
{ | |
va_list v; | |
}; | |
#else | |
struct __attribute__((scalar_storage_order("little-endian"))) Rec | |
{ | |
va_list v; | |
}; | |
#endif | |
void foo (int i, ...) | |
{ | |
struct Rec a; | |
va_start (a.v, i); | |
a.v = 0, x = va_arg (a.v, int); /* { dg-error "type|reverse storage order" } */ | |
va_end (a.v); | |
} |