unsigned long vla_sizeof0(int size) { int a[size]; return sizeof(a); } unsigned long vla_sizeof1(int size) { struct s { int a[size]; }; return sizeof(struct s); } unsigned long vla_sizeof2(int size) { struct s { int a[size]; } *p; return sizeof(*p); } void* vla_inc(int size, void *base) { struct s { int a[size]; } *p = base; ++p; return p; } /* * check-name: vla-sizeof.c * * check-known-to-fail */