ref: 4886e44d6ea86d65f31eb6ecbfa8f82cac9c2fa0
dir: /tests/cc/execute/0165-struct.c/
struct S1 {
int a;
int b;
};
struct S2 {
struct S1 s1;
struct S1 *ps1;
int arr[2];
};
struct S1 gs1 = (struct S1) {.a = 1, 2};
struct S2 *s = &(struct S2) {
{.b = 2, .a = 1},
&gs1,
{[0] = 1, 1+1}
};
int
main()
{
if(s->s1.a != 1)
return 1;
if(s->s1.b != 2)
return 2;
if(s->ps1->a != 1)
return 3;
if(s->ps1->b != 2)
return 4;
if(s->arr[0] != 1)
return 5;
if(s->arr[1] != 2)
return 6;
return 0;
}