qemu-e2k/hw/s390x
Philippe Mathieu-Daudé 880a7817c1 misc: Replace zero-length arrays with flexible array member (manual)
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 command (then manual analysis, without modifying
structures only having a single flexible array member, such
QEDTable in block/qed.h):

  git grep -F '[0];'

[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
..
3270-ccw.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
Kconfig kconfig: add CONFIG_MSI_NONBROKEN 2019-03-18 09:39:57 +01:00
Makefile.objs s390x: express dependencies with Kconfig 2019-03-07 21:46:19 +01:00
ap-bridge.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
ap-device.c Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
ccw-device.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
ccw-device.h s390x: vmstatify config migration for virtio-ccw 2017-07-05 12:16:55 +02:00
css-bridge.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
css.c Avoid address_space_rw() with a constant is_write argument 2020-02-20 14:47:08 +01:00
event-facility.c s390x/event-facility: fix error propagation 2020-01-27 12:13:09 +01:00
ipl.c s390/ipl: sync back loadparm 2020-03-10 10:18:14 +01:00
ipl.h s390x: ipl: Consolidate iplb validity check into one function 2020-03-10 10:18:20 +01:00
s390-ccw.c sysemu: Move the VMChangeStateEntry typedef to qemu/typedefs.h 2019-08-16 13:31:53 +02:00
s390-pci-bus.c Let cpu_[physical]_memory() calls pass a boolean 'is_write' argument 2020-02-20 14:47:08 +01:00
s390-pci-bus.h s390x/pci: Drop release timer and replace it with a flag 2019-02-04 13:47:50 +01:00
s390-pci-inst.c add device_legacy_reset function to prepare for reset api change 2020-01-30 16:02:03 +00:00
s390-pci-inst.h s390x/pci: add common function measurement block 2019-01-18 11:52:01 +01:00
s390-skeys-kvm.c Include qemu/module.h where needed, drop it from qemu-common.h 2019-06-12 13:18:33 +02:00
s390-skeys.c vmstate: replace DeviceState with VMStateIf 2020-01-06 18:41:32 +04:00
s390-stattrib-kvm.c s390x/storage attributes: fix CMMA_BLOCK_SIZE usage 2018-07-11 14:36:54 +02:00
s390-stattrib.c hw/s390x: rename Error ** parameter to more common errp 2019-12-18 08:43:19 +01:00
s390-virtio-ccw.c hw: Make MachineClass::is_default a boolean type 2020-02-28 14:57:19 -05:00
s390-virtio-hcall.c s390x: rename s390-virtio.h to s390-virtio-hcall.h 2017-09-19 18:31:31 +02:00
s390-virtio-hcall.h s390/kvm_virtio/linux-headers: remove traces of old virtio transport 2017-11-24 10:52:05 +01:00
sclp.c s390x/sclp.c: remove unneeded label in sclp_service_call() 2020-01-27 12:13:09 +01:00
sclpcpu.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
sclpquiesce.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
tod-kvm.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
tod-qemu.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
tod.c migration: register_savevm_live doesn't need dev 2019-09-12 11:15:03 +01:00
trace-events trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
vhost-vsock-ccw.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-9p.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-balloon.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-blk.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-crypto.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-gpu.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-input.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-net.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-rng.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-scsi.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw-serial.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
virtio-ccw.c misc: Replace zero-length arrays with flexible array member (manual) 2020-03-16 22:07:42 +01:00
virtio-ccw.h s390x/ccw: make sure all ccw devices are properly reset 2018-05-14 17:10:02 +02:00