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;