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