Zero-length arrays are a non-standard extension to the C
language. Actually, this extension seems to be quite common, as apart
from GCC also a lot of commerical C compilers accept this
construct. It often makes coding a lot easier/cleaner and as we rely
on a lot of other GCC features anyways, it does not make the kernel
noticeably less portable.
Markus