Newsgroups: comp.os.msdos.djgpp From: Peter Berdeklis Subject: Re: [Q]: unsigned char Message-ID: Nntp-Posting-Host: chinook.physics.utoronto.ca Sender: news AT info DOT physics DOT utoronto DOT ca (System Administrator) Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Organization: University of Toronto - Dept. of Physics In-Reply-To: Date: Fri, 31 Oct 1997 15:04:24 GMT References: Lines: 33 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk On Tue, 28 Oct 1997, Eli Zaretskii wrote: > > On Sun, 26 Oct 1997, Peter Berdeklis wrote: > > > > Compiler gives warning, that > > > "comparison is always 0 due to limited range of data type" > > > (no matter with or without '-funsigned-char' flag) > > > > This appears to be a bug in DJGPP. Compiled under gcc/SGI there is no > > complaint. > > Since when printing a warning is deemed a bug in the compiler? The > warning here is perfectly valid, since it pinpoints a real bug in the > code (which assumed '\xFD' is an unsigned quantity), so gcc did a real > service here. > > I don't know much about SGI, but it could be that the default > character type there is different from x86. Or it could be a bug in > the SGI version of gcc. I apologize, Eli's right of course. The SGI has -funsigned-char as default. Also, since I created my test program as C++ code the unsigned char affects the '\xfd', because under C++ character constants are chars, not ints as for C. When I performed the same test under DJGPP, using C++ and -funsigned-char, the warning disappeared. --------------- Peter Berdeklis Dept. of Physics, Univ. of Toronto