On Wed, Sep 19, 2018 at 3:39 AM Jason A. Donenfeld <Jason@xxxxxxxxx> wrote: > > > > + const size_t num = ctx->num % POLY1305_BLOCK_SIZE; > > 0 <= ctx->num < POLY1305_BLOCK_SIZE, so no need to mod by POLY1305_BLOCK_SIZE. > > > + size_t num = ctx->num % POLY1305_BLOCK_SIZE; > > Same here. > > I know, but I was having a hard time convincing gcc-8 of that > invariant, and it was warning me. Perhaps this is something they > fixed, though, between 8.1 and 8.2 though. I'll check back and adjust > accordingly. This was changed here: https://git.zx2c4.com/WireGuard/commit/?id=37f114a73ba37219b00a66f0a51219a696599745 I can't reproduce with 8.2 anymore, so perhaps I should remove it now. Unless you'd like to avoid a warning on old compilers. Since there's no difference in speed, probably we should avoid the 8.1 warning and leave it be?