[Bug c/63224] False Positive for -Wmaybe-uninitialized at -Os, not -O2
sebastian.huber@embedded-brains.de
gcc-bugzilla@gcc.gnu.org
Thu Sep 11 13:28:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63224
--- Comment #2 from Sebastian Huber <sebastian.huber@embedded-brains.de> ---
I think this is a false positive warning.
The relevant code is:
for ( i = 0;
name_size
&& (c = msdos_get_valid_utf16_filename_character ( long_name[i])
);
++i ) {
long_name[i] = c;
returned_size += MSDOS_NAME_LFN_BYTES_PER_CHAR;
name_size -= MSDOS_NAME_LFN_BYTES_PER_CHAR;
}
if ( name_size == UTF16_NULL_SIZE && c == UTF16_NULL ) {
long_name[i] = c; /* line 452 */
returned_size += MSDOS_NAME_LFN_BYTES_PER_CHAR;
name_size -= MSDOS_NAME_LFN_BYTES_PER_CHAR;
}
With
#define UTF16_NULL_SIZE 2
In case name_size == 2, then c =
msdos_get_valid_utf16_filename_character(long_name[i]) must be called at least
once.
More information about the Gcc-bugs
mailing list