[libvirt] [PATCH 4/4] Add ATTRIBUTE_FALLTHROUGH for switch cases without break

Laine Stump laine at laine.org
Wed Feb 22 19:46:42 UTC 2017


On 02/22/2017 12:52 PM, Daniel P. Berrange wrote:
> In GCC 7 there is a new warning triggered when a switch
> case has a conditional statement (eg if ... else...) and
> some of the code paths fallthrough to the next switch
> statement. e.g.
>
> conf/domain_conf.c: In function 'virDomainChrEquals':
> conf/domain_conf.c:14926:12: error: this statement may fall through [-Werror=implicit-fallthrough=]
>           if (src->targetTypeAttr != tgt->targetTypeAttr)
>              ^
> conf/domain_conf.c:14928:5: note: here
>       case VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE:
>       ^~~~
> conf/domain_conf.c: In function 'virDomainChrDefFormat':
> conf/domain_conf.c:22143:12: error: this statement may fall through [-Werror=implicit-fallthrough=]
>           if (def->targetTypeAttr) {
>              ^
> conf/domain_conf.c:22151:5: note: here
>       default:
>       ^~~~~~~
>
> GCC introduced a __attribute__((fallthrough)) to let you
> indicate that this is intentionale behaviour rather than
> a bug.

ACK.




More information about the libvir-list mailing list