On Fri, 13 Oct 2023 11:14, "Daniel P. Berrangé" <berra...@redhat.com> wrote:
On Fri, Oct 13, 2023 at 10:47:04AM +0300, Emmanouil Pitsidianakis wrote:
Main questions this RFC poses
=============================
- Is this change desirable and net-positive.
Yes, IMHO it is worth standardizing on use of the attribute. The allowed
use of comments was a nice thing by the compiler for coping with pre-existing
code, but using the attribute is best long term for a consistent style.
- Should the `fallthrough;` pseudo-keyword be defined like in the Linux
kernel, or use glib's G_GNUC_FALLTHROUGH, or keep the already existing
QEMU_FALLTHROUGH macro.
As a general rule, if glib provides functionality we aim o use that
and not reinvent the wheel. IOW, we should just use G_GNUC_FALLTHROUGH.
I agree. My reasoning was:
- The reinvented wheel is only an attribute and not a big bunch of NIH
code
- The macro def in glib depends on the glib version you use
- G_GNUC_FALLTHROUGH looks kind of abrasive to my eye, while
`fallthrough` blends in with other switch keywords like break.
- C23 standardises fallthrough. We might not ever support C23 but it's
good to be consistent with standards and other, larger projects (linux
kernel).
I think these (except for myself finding G_GNUC_FALLTHROUGH ugly) make a
strong case for not using the glib macro, personally. I'd be interested
to know if there is a counterpoint to it: because I don't want this
change to cause problems in the future.
Manos