compiler: rework BUG_ON using a struct
commitf291887e8eef5d37d31484638f6e62401b4b99a2
authorMichael S. Tsirkin <mst@redhat.com>
Thu, 19 Jan 2017 20:56:14 +0000 (19 22:56 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 1 Feb 2017 01:37:17 +0000 (1 03:37 +0200)
tree5263e8d16a5a9500febaa3de574bb3afd801c808
parent60abf0a5e05134187e274ce5f32524ccf0cae1a6
compiler: rework BUG_ON using a struct

There are theoretical concerns that some compilers might not trigger
build failures on attempts to define an array of size (x ? -1 : 1) where
x is a variable and make it a variable sized array instead. Let rewrite
using a struct with a negative bit field size instead as there are no
dynamic bit field sizes.  This is similar to what Linux does.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
include/qemu/compiler.h