shithub: scc

ref: 73b180769110ca05065017952173233ad8bb1c34
dir: /tests/cc/execute/0165-struct.c/

View raw version
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;
}