[PATCH] cmd: env: fix unreachable statements

Heinrich Schuchardt xypron.glpk at gmx.de
Fri May 8 19:27:05 CEST 2020


On 5/8/20 6:19 PM, Tom Rini wrote:
> 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 <takahiro.akashi at linaro.org>
>>> 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?

C11: "The controlling expression of a switchstatement shall have
integer type." (https://web.cs.dal.ca/~vlado/pl/C_Standard_2011-n1570.pdf)

Why did you expect anything that is incompatible to C99?

Best regards

Heinrich

>
>> To me this is a false positive of Coverity.
>
> I can go mark it as such after the above is answered, thanks!
>



More information about the U-Boot mailing list