I can't see the point in a genuine 0-length array ? That doesn't mean it shouldn't be valid. It could easily occur from some macro expansion when passed a value of zero or in similar sorts of expansions in other languages.