vla_sizeof0(int size)1*c85f09ccSJohn Levon unsigned long vla_sizeof0(int size)
2*c85f09ccSJohn Levon {
3*c85f09ccSJohn Levon 	int a[size];
4*c85f09ccSJohn Levon 	return sizeof(a);
5*c85f09ccSJohn Levon }
6*c85f09ccSJohn Levon 
vla_sizeof1(int size)7*c85f09ccSJohn Levon unsigned long vla_sizeof1(int size)
8*c85f09ccSJohn Levon {
9*c85f09ccSJohn Levon 	struct s {
10*c85f09ccSJohn Levon 		int a[size];
11*c85f09ccSJohn Levon 	};
12*c85f09ccSJohn Levon 	return sizeof(struct s);
13*c85f09ccSJohn Levon }
14*c85f09ccSJohn Levon 
vla_sizeof2(int size)15*c85f09ccSJohn Levon unsigned long vla_sizeof2(int size)
16*c85f09ccSJohn Levon {
17*c85f09ccSJohn Levon 	struct s {
18*c85f09ccSJohn Levon 		int a[size];
19*c85f09ccSJohn Levon 	} *p;
20*c85f09ccSJohn Levon 	return sizeof(*p);
21*c85f09ccSJohn Levon }
22*c85f09ccSJohn Levon 
vla_inc(int size,void * base)23*c85f09ccSJohn Levon void* vla_inc(int size, void *base)
24*c85f09ccSJohn Levon {
25*c85f09ccSJohn Levon 	struct s {
26*c85f09ccSJohn Levon 		int a[size];
27*c85f09ccSJohn Levon 	} *p = base;
28*c85f09ccSJohn Levon 
29*c85f09ccSJohn Levon 	++p;
30*c85f09ccSJohn Levon 	return p;
31*c85f09ccSJohn Levon }
32*c85f09ccSJohn Levon 
33*c85f09ccSJohn Levon /*
34*c85f09ccSJohn Levon  * check-name: vla-sizeof.c
35*c85f09ccSJohn Levon  *
36*c85f09ccSJohn Levon  * check-known-to-fail
37*c85f09ccSJohn Levon  */
38