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