On Thu, Jun 23, 2011 at 10:27:26AM -0700, Andi Kleen wrote:
Maarten Lankhorst [off-list ref] writes:
quoted
gcc with -Warray-bounds generates a false positive on this
since xfs defines the struct with u8 name[1]; to be able to
add a tag at the end.
A better way would be to define it as name[0]. Then the compiler
would know it's a VLA. You may need to check noone relies on
the one byte though.
... and even better is to write in real C and have u8 name[]; in the
end of your structure. That's the standard C99 for this kind of thing
(see 6.7.2.1p2, p16). Zero-sized array is a gccism predating standard
flexible array members and since the standard syntax is accepted by
any gcc version that might be recent enough to build the kernel...
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs