Don't rely on static initialization of a flexible array member, that's a GNU extension. The previous code also triggered a Clang warning "suggest braces around initialization of subobject" (-Wmissing-braces) for `struct {char a[]} = {"foo"}`.