Description copied from Linux kernel commit from Gustavo A. R. Silva
(see [3]):
--v-- description start --v--
The current codebase makes use of the zero-length array language
extension to the C90 standard, but the preferred mechanism to
declare variable-length types such as these ones is a flexible
array member [1], introduced in C99:
struct foo {
int stuff;
struct boo array[];
};
By making use of the mechanism above, we will get a compiler
warning in case the flexible array does not occur last in the
structure, which will help us prevent some kind of undefined
behavior bugs from being unadvertenly introduced [2] to the
Linux codebase from now on.
--^-- description end --^--
Do the similar housekeeping in the QEMU codebase (which uses
C99 since commit
|
||
---|---|---|
.. | ||
freebsd | ||
i386 | ||
netbsd | ||
openbsd | ||
sparc | ||
sparc64 | ||
x86_64 | ||
bsd-mman.h | ||
bsdload.c | ||
elfload.c | ||
errno_defs.h | ||
main.c | ||
Makefile.objs | ||
mmap.c | ||
qemu.h | ||
signal.c | ||
strace.c | ||
syscall.c | ||
syscall_defs.h | ||
uaccess.c |