On Fri, May 08, 2020 at 06:10:27PM +0200, Heinrich Schuchardt wrote:
> On 08.05.20 07:51, AKASHI Takahiro wrote:
> > C's switch statement takes an integer value for switching.
> > As efi_status_t is defined as unsigned long and each error code has
> > the top bit set, all "cases" cannot be reachable.
> >
> > Signed-off-by: AKASHI Takahiro <[email protected]>
> > Reported-by: Coverity (CID 300335)
> 
> The requirement of C 1999 specification is:
> "The controlling expression of a switch statement shall have integer
> type." The requirement is not that the controlling expression should be int.
> 
> GCC works fine with uint64_t as argument of a switch statement.

OK, but for the record what about C11 with GNU extensions?

> To me this is a false positive of Coverity.

I can go mark it as such after the above is answered, thanks!

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to