https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117179
--- Comment #2 from Sam James <sjames at gcc dot gnu.org> ---
static bool
setval_internal (int comind, const char *com, const char *val)
{
assert (0 <= comind && ((size_t) comind) < countof (commands));
if ((unsigned) comind >= countof (commands))
return NULL;
DEBUGP (("Setting %s (%s) to %s\n", com, commands[comind].name, val));
return commands[comind].action (com, val, commands[comind].place);
}
With -UNDEBUG, the assert() is live and the warning rightly goes away.