Warner Losh wrote: |On Wed, Nov 8, 2017 at 9:07 AM, Nemo <[1]cym224 at gmail.com[/1]> wrote: |On 6 November 2017 at 19:36, Ron Natalie <[2]ron at ronnatalie.com[/2]> wrote: |> It’s worse than that.   “char” is defined as neither signed nor unsigned. |> The signedness is implementation defined.    This was why we have \ |> the inane |> “signed” keyword. ... |What was that story about porting an early UNIX to a machine with |different char polarity?  I dimly recall only a few problems. | |Doesn't even have to be very early... There's lots of 'assume char \ |is signed bugs' in even modern code. So many that ARM gave up on the \ |idea that |unsigned char was good (since the underlying ARM architecture supported \ |it better) and their modern ABIs are all signed char. The other thing \ .. |When I was working on FreeBSD/arm only a decade ago, I'd routinely \ |hit both of these issues... I had one of those on Debian/arm64 (Bug#806300) no sooner but November 2015, very friendly reported as |This symptom and the pattern of failures is typical of programs that |assume that plain char is signed. Fortunately there's a warning in |the build log that tells you exactly where the bug is: (in fact already mentioned in some hidden archlinux forum, and also to me in private by a Swede, but i failed to see, and forgot, hu-hu!!, all in March 2015) introduced in December 2013 when blindly fixing CC warnings (Many: fix gcc 4.8.2 -fstrict-overflow -Wstrict-overflow=5). Testing char not int against EOF is bad. --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt)