qemu-patch-raspberry4/hw/dma
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
..
bcm2835_dma.c bcm2835_dma: Re-initialize xlen in TD mode 2020-02-07 14:04:28 +00:00
etraxfs_dma.c Remove unnecessary cast when using the cpu_[physical]_memory API 2020-02-20 14:47:08 +01:00
i8257.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
i82374.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
Kconfig hw/core: Add a config switch for the "register" device 2019-08-20 09:11:05 +02:00
Makefile.objs hw/*/Makefile.objs: Move many .o files to common-objs 2020-02-04 09:00:57 +01:00
omap_dma.c hw/dma/omap_dma: Move switch 'fall through' comment to correct place 2019-08-21 10:55:23 +02:00
pl080.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
pl330.c * Register qdev properties as class properties (Marc-André) 2020-01-27 09:44:04 +00:00
puv3_dma.c Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
pxa2xx_dma.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
rc4030.c hw/ide: Let the DMAIntFunc prototype use a boolean 'is_write' argument 2020-02-20 14:47:08 +01:00
soc_dma.c misc: Replace zero-length arrays with flexible array member (automatic) 2020-03-16 22:07:42 +01:00
sparc32_dma.c lance: replace PROP_PTR with PROP_LINK 2020-01-07 17:24:29 +04:00
trace-events dma/pl330: Convert to support tracing 2020-01-23 15:34:04 +00:00
xilinx_axidma.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
xlnx-zdma.c dma/xlnx-zdma: Remove redundant statement in zdma_write_dst() 2020-03-09 15:59:31 +01:00
xlnx-zynq-devcfg.c Clean up inclusion of sysemu/sysemu.h 2019-08-16 13:31:53 +02:00
xlnx_dpdma.c Include migration/vmstate.h less 2019-08-16 13:31:52 +02:00