#include #include "dfp-dbg.h" struct S1 { _Decimal64 a[0]; }; struct S2 { struct { _Decimal64 e; } b[0]; }; struct S3 { union { _Decimal64 c; } a[0]; }; struct S4 { int a[0]; _Decimal64 b[0]; }; struct S5 { union { _Decimal64 c[0]; } a; }; int check_var (int z, ...) { long long result; va_list ap; va_start (ap, z); va_arg (ap, struct S1); result = va_arg (ap, long long); va_end (ap); return (result == 2LL); } int main () { struct S1 s1; struct S2 s2; struct S3 s3; struct S4 s4; struct S5 s5; if (check_var (2, s1, 2LL) == 0) FAILURE; if (check_var (2, s2, 2LL) == 0) FAILURE; if (check_var (2, s3, 2LL) == 0) FAILURE; if (check_var (2, s4, 2LL) == 0) FAILURE; if (check_var (2, s5, 2LL) == 0) FAILURE; FINISH }