Re: sfc: an enumeration is not a bitmask

Ben Hutchings
2011-05-17T18:18:42Z

On Tue, 2011-05-17 at 14:14 -0400, David Miller wrote:
> Ben can you please get rid of "enum efx_fc_type"?
>
> drivers/net/sfc/mcdi_mac.c: In function ‘efx_mcdi_set_mac’:
> drivers/net/sfc/mcdi_mac.c:36:2: warning: case value ‘3’ not in enumerated type ‘enum efx_fc_type’
>
> An enumeration is not a bitmask, instead it means one out of the set
> of enumerated values will be used. This means that the warning
> here about:
>
> switch (efx->wanted_fc) {
> case EFX_FC_RX | EFX_FC_TX:
>
> is completely legitimate.

I think this is common practice in C. I filed a bug regarding the
warning at <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46457>, which
has not yet been resolved either way.

Ben.

--
Ben Hutchings, Senior Software Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.