Zero sized arrays are more or less the pre-standard version of flexible
array members. It makes sense to mark structs which contain them as
hasFlexibleArrayMember.
Doing this has the side effect of resolving PR21040, a crash involving
one record inheriting from a base which is terminated with a zero sized
array field.
Can we find out what rdar://problem/10228639 was?