This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://firstname.lastname@example.org/.Sylvain Munaut 246tnt at gmail.com
> That's only certain if one enum value is defined to >= 0, and no > later enum is defined to < 0. If no enum value is defined at all, > then they may very well be negative. Well yes, I was talking about this particular case. >> And since the enum type in this case is unsigned, an unsigned value >> can never be inferior to 0 and so the test is always false. > > enums don't have signedness AFAIU? They do (in the underlying type). But it can be anything the compiler decides as long as it can fit all the enumeration constant and is no larger than int. And since in this case there is no negative constant (begin at 0 and go up), the compiler is free to decide to use "unsigned int" as underlying type. And gcc does that, yielding a bug in this case. See the test case posted in IRC yesterday: http://pastebin.com/raw.php?i=cqi0ipY9 If you compile with -Wextra, you will see the issue. Cheers, Sylvain