Flexible array initialization is a C/C++ extension implemented in many compilers to allow initializing the flexible array tail of a struct type that contains a flexible array. In clang, this is currently restricted to C. But this construct is used in the Microsoft SDK headers, so I'd like to extend it to C++.
For now, this doesn't handle dynamic initialization; probably not hard to implement, but it's extra code, and I don't think it's necessary for the expected uses. And I'm not handling constant evaluation; it should fail gracefully.
I've added some additional code to assert that flexible array init works the way we expect it to in both C and C++.
Can you write a test for this with a 'fixme'? I don't see a reason why we shouldn't support this eventually.