qemu-e2k/pc-bios/s390-ccw
Philippe Mathieu-Daudé f7795e4096 misc: Replace zero-length arrays with flexible array member (automatic)
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 7be41675f7).

All these instances of code were found with the help of the
following Coccinelle script:

  @@
  identifier s, m, a;
  type t, T;
  @@
   struct s {
      ...
      t m;
  -   T a[0];
  +   T a[];
  };
  @@
  identifier s, m, a;
  type t, T;
  @@
   struct s {
      ...
      t m;
  -   T a[0];
  +   T a[];
   } QEMU_PACKED;

[1] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=76497732932f
[3] https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/commit/?id=17642a2fbd2c1

Inspired-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-03-16 22:07:42 +01:00
..
bootmap.c s390-bios: Skip bootmap signature entries 2019-05-08 10:52:14 +02:00
bootmap.h misc: Replace zero-length arrays with flexible array member (automatic) 2020-03-16 22:07:42 +01:00
bswap.h
cio.c s390-bios: cio error handling 2019-04-12 12:40:35 +02:00
cio.h s390-bios: Add channel command codes/structs needed for dasd-ipl 2019-04-12 12:40:35 +02:00
dasd-ipl.c s390-bios: Support booting from real dasd device 2019-04-12 12:40:35 +02:00
dasd-ipl.h s390-bios: Support booting from real dasd device 2019-04-12 12:40:35 +02:00
helper.h
iplb.h
jump2ipl.c pc-bios: s390x: Save iplb location in lowcore 2020-03-10 10:18:08 +01:00
libc.c pc-bios/s390-ccw: Clean up harmless misuse of isdigit() 2019-05-08 10:52:14 +02:00
libc.h s390-bios: cio error handling 2019-04-12 12:40:35 +02:00
main.c pc-bios: s390x: Save iplb location in lowcore 2020-03-10 10:18:08 +01:00
Makefile s390-bios: Support booting from real dasd device 2019-04-12 12:40:35 +02:00
menu.c pc-bios/s390-ccw: Clean up harmless misuse of isdigit() 2019-05-08 10:52:14 +02:00
netboot.mak
netmain.c pc-bios: s390x: Save iplb location in lowcore 2020-03-10 10:18:08 +01:00
s390-arch.h pc-bios: s390x: Save iplb location in lowcore 2020-03-10 10:18:08 +01:00
s390-ccw.h pc-bios: s390x: Save iplb location in lowcore 2020-03-10 10:18:08 +01:00
sclp.c pc-bios/s390-ccw: fix sclp_get_loadparm_ascii 2019-11-29 09:16:02 +01:00
sclp.h misc: Replace zero-length arrays with flexible array member (automatic) 2020-03-16 22:07:42 +01:00
scsi.h
start.S
virtio-blkdev.c
virtio-net.c
virtio-scsi.c
virtio-scsi.h
virtio.c s390-bios: Use control unit type to determine boot method 2019-04-12 12:40:35 +02:00
virtio.h