Re: [RFC PATCH 03/13] usb: remove the usage of the list iterator after the loop
From: Segher Boessenkool
Date: Sat Feb 26 2022 - 20:24:52 EST
On Sat, Feb 26, 2022 at 03:03:09PM -0800, Linus Torvalds wrote:
> On Sat, Feb 26, 2022 at 2:14 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
> >
> > Could gcc follow the clang behavior then and skip the warning and
> > sanitizer for this case when -fno-strict-overflow or -fwrapv are used?
>
> Well, for the kernel, that horse has already left the barn, and we'd
> have to use -Wno-shift-negative-value anyway.
>
> But yes, from a sanity standpoint, it would be good to shut that
> warning up automatically if compiling for a 2's complement machine (ie
> "all of them") with -fwrapv.
>
> Considering that gcc doesn't support any non-2's-complement machines
> anyway afaik,
* 'Whether signed integer types are represented using sign and
magnitude, two's complement, or one's complement, and whether the
extraordinary value is a trap representation or an ordinary value
(C99 and C11 6.2.6.2).'
GCC supports only two's complement integer types, and all bit
patterns are ordinary values.
> and that the C standards people are also fixing the
> standard, and gcc has never done anything odd in this area in the
> first place, I think the warning is probably best removed entirely.
Well, not removed, it correctly identifies (formally) undefined
behaviour after all; but I agree it should not be in -Wextra.
-Wall should include the warnings that have a very good balance for
usefulness, number of false postives, seriousness of problems found.
-Wextra is exactly the same conditions, just a slightly lower bar.
-Wall should be useful for everyone. -Wall -W should be good for most
people.
> But we'll have to do it manually for the existing situation.
Yes, sorry about that :-/
Segher