Basically:
struct foo_1
{
int flexible_guy[0]; // this works
};
struct foo_2
{
int flexible_guy[]; // this doesn't (error: flexible array member in a struct with no named members)
};
Is this the intended logic for some reason, an easter egg workaround for something not supported, or a compiler bug?
I'm using GCC 7.5.0 on Ubuntu 18.04, but I get the same result on a web compiler that uses GCC 9.4.0 (https://onlinegdb.com/_15wOU3UF).