In article <rmiy2ctlzli....@s1.lexort.com>, Greg Troxel <g...@lexort.com> wrote: >-=-=-=-=-=- > > >We used to get warnings when toupper was called with char, because it is >UB pe POSIX if the value is negative. > >I am not seeing this any more on NetBSD 9. > >I wonder if this is intended, and if the UB is safely avoided somhow, or >if the warning is just missing, or ? > >example program that I think should get a UB warning; doesn't on >netbsd-9. > >---------------------------------------- >#include <ctype.h> >#include <stdio.h> > >int >main() >{ > char c, d; > > c = getchar(); > > d = toupper(c); > > if (d != c) > return 1; > else > return 0; >}
gcc hides warnings from system headers by default (my guess is because the Linux system headers have a concealed firearms license). Our bsd.sys.mk turns it on... Try gcc -Wall -Wsystem-headers I've been considering to make it the default for our native gcc, but then again I am against gratuitous user facing changes... christos