Could you file a glibc bug for this please? It needs some analysis to
see if it's an FP or not.
There's actually a suppression for -Os already there:
if (elem < table_size)
{
/* Compare the byte sequence but only if
this is not part of a range. */
/* The compiler might warn that idx may be
used uninitialized, however it will be
reached iff elem < table_size which means
that it was properly set in the loop
above. */
DIAG_PUSH_NEEDS_COMMENT;
DIAG_IGNORE_Os_NEEDS_COMMENT (8,
"-Wmaybe-uninitialized");
if (! is_range
# if WIDE_CHAR_VERSION
&& __wmemcmp (n, &wextra[1], c1) == 0
# else
&& memcmp (n, &extra[idx + 1], c1) == 0
# endif
)
{
n += c1 - 1;
goto matched;
}
DIAG_POP_NEEDS_COMMENT;