aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/nested-vla-2.c
blob: 294b01d370e44cc5fd417678d391d077d0c0f39c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/* { dg-do run } */
/* { dg-options "-std=gnu99" } */
/* { dg-require-effective-target trampolines } */


int main()
{
	int n = 1;

	char tmp[2] = { 0 };
	typeof(char (*)[++n]) bar(void) { return &tmp; }

	if (2 != n)
		__builtin_abort();

	if (2 != sizeof(*bar()))
		__builtin_abort();

	if (2 != n)
		__builtin_abort();

	n = 1;

	typeof(char (*)[++n]) (*bar2)(void) = bar;

	if (2 != n)
		__builtin_abort();

	if (2 != sizeof(*(*bar2)()))
		__builtin_abort();

	if (2 != n)
		__builtin_abort();
}