Add a config macro to handle gcc2-style variable array in structs

While gcc3 and newer support the C99 way of declaring a variable-length
array at the end of a struct, gcc2 requires it to be declared with a
size of 0.