This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/63301] inconsistency on wchar_t and wint_t types and sizes for diverse architectures


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63301

Joel Sherrill <joel at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |joel at gcc dot gnu.org

--- Comment #3 from Joel Sherrill <joel at gcc dot gnu.org> ---
>From my perspective, gcc needs to be reliable in reporting or not reporting
warnings. When you can't write code that is warning free across all targets, it
diminishes the value of the warning. Thanks for pointing out the code needs to
be fixed. That is great. But .. read on.. I think you blew this off without
considering how poorly gcc actually is doing on this warning. From what I can
tell, gcc misses this warning on 2/3 of our targets and when you fix the code,
has false positives on 1/3. And they aren't the same set. I would politely
request that we reopen and recast this PR in that light. 
|
gcc misses this on more targets than it catches it. It catches it on 6 of 18
targets. This is a pretty high false negative ratio. 

=== arm-rtems4.11-gcc - no warning
=== avr-rtems4.11-gcc - no warning
=== bfin-rtems4.11-gcc - no warning
=== h8300-rtems4.11-gcc - no warning
=== i386-rtems4.11-gcc - no warning
=== lm32-rtems4.11-gcc - no warning
=== m68k-rtems4.11-gcc - warning
=== m32c-rtems4.11-gcc - warning
=== m32r-rtems4.11-gcc - no warning
=== mips-rtems4.11-gcc - no warning
=== moxie-rtems4.11-gcc - no warning
=== nios2-rtems4.11-gcc - no warning
=== or1k-rtems4.11-gcc - no warning
=== powerpc-rtems4.11-gcc - warning
=== sh-rtems4.11-gcc - warning
=== sparc64-rtems4.11-gcc - no warning
=== sparc-rtems4.11-gcc - warning
=== v850-rtems4.11-gcc - warning

The test case is a cut down from the port of the FreeBSD hexdump command to
RTEMS. I checked the current source at
http://svnweb.freebsd.org/base/head/usr.bin/hexdump/conv.c?revision=247753&view=markup
and it uses %C at line 137 for the specifier. Modifying the test case
accordingly, this changed the set of targets which gives a warning. Now 12
report it and 6 don't. It is a different set. This is with %C:

=== arm-rtems4.11-gcc - no warning
=== avr-rtems4.11-gcc - no warning
=== bfin-rtems4.11-gcc - no warning
=== h8300-rtems4.11-gcc - no warning
=== i386-rtems4.11-gcc - no warning
=== lm32-rtems4.11-gcc - no warning
=== m68k-rtems4.11-gcc - warning
=== m32c-rtems4.11-gcc - warning
=== m32r-rtems4.11-gcc - no warning
=== mips-rtems4.11-gcc - no warning
=== moxie-rtems4.11-gcc - no warning
=== nios2-rtems4.11-gcc - no warning
=== or1k-rtems4.11-gcc - no warning
=== powerpc-rtems4.11-gcc - warning
=== sh-rtems4.11-gcc - warning
=== sparc64-rtems4.11-gcc - no warning
=== sparc-rtems4.11-gcc - warning
=== v850-rtems4.11-gcc - warning


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]