Thread (218 messages) flat view 218 messages, 9 authors, 2016-11-06

Re: [PATCH v3 07/25] sequencer: completely revamp the "todo" script parsing

From: Johannes Schindelin <hidden>
Date: 2016-10-16 08:09:29

Hi,

On Sat, 15 Oct 2016, Jeff King wrote:
On Sat, Oct 15, 2016 at 07:40:15PM +0200, Torsten Bögershausen wrote:
quoted
quoted
I wonder if:

  if ((int)command < ARRAY_SIZE(todo_command_strings))

silences the warning (I suppose size_t is probably an even better type,
though obviously it does not matter in practice).
Both do (silence the warning)

enum may be signed or unsigned, right ?
So the size_t variant seams to be a better choice
Good catch. It technically needs to check the lower bound, too. In
theory, if somebody wanted to add an enum value that is negative, you'd
use a signed cast and check against both 0 and ARRAY_SIZE(). In
practice, that is nonsense for this case, and using an unsigned type
means that any negative values become large, and the check catches them.
I am pretty certain that I disagree with that warning: enums have been
used as equivalents of ints for a long time, and will be, for a long time
to come.

Given that this test is modified to `if (command < TODO_NOOP)` later, I
hope that you agree that it is not worth the trouble to appease that
compiler overreaction?

Ciao,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help