public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Strange sign-compare results
@ 2001-12-16 13:46 Kaveh R. Ghazi
  2001-12-16 13:57 ` Neil Booth
  0 siblings, 1 reply; 5+ messages in thread
From: Kaveh R. Ghazi @ 2001-12-16 13:46 UTC (permalink / raw)
  To: gcc-bugs, gcc

Given this code:

 > int foo(unsigned int u, unsigned int u1, unsigned int u2,
 > 	unsigned short us1, unsigned short us2,
 > 	int i1, int i2, short s1, short s2)
 > {
 >   if (u < (s1-s2))
 >     return 0;
 > 
 >   if (u < (us1-us2))
 >     return 0;
 > 
 >   if (u < (i1-i2))
 >     return 0;
 >   
 >   if (u < (u1-u2))
 >     return 0;
 > 
 >   return 1;
 > }

compiling it (on sparc-solaris2) with -Wsign-compare (using 2.95.2,
3.0.3 (pre) or 3.1) yields:

 > foo.c:5: warning: comparison between signed and unsigned
 > foo.c:8: warning: comparison between signed and unsigned
 > foo.c:11: warning: comparison between signed and unsigned

I.e. the last compare of "u < (u1-u2)" doesn't warn.  Is this a bug or
feature?  Doesn't (u1-u2) become an integer?  Please explain. :-)

		Thanks,
		--Kaveh
--
Kaveh R. Ghazi			Engagement Manager / Project Services
ghazi@caip.rutgers.edu		Qwest Internet Solutions

^ permalink raw reply	[flat|nested] 5+ messages in thread
* Re: Strange sign-compare results
@ 2001-12-16 17:59 Kaveh R. Ghazi
  2001-12-17  0:02 ` Neil Booth
  0 siblings, 1 reply; 5+ messages in thread
From: Kaveh R. Ghazi @ 2001-12-16 17:59 UTC (permalink / raw)
  To: neil; +Cc: gcc-bugs, gcc

 > From: Neil Booth <neil@daikokuya.demon.co.uk>
 > 
 > neil wrote:-
 > 
 > > The others convert the unsigned operand to signed, and therefore the
 > > result of the subtraction is signed.
 > 
 > Ignore that last sentence; I didn't read your examples closely enough
 > 8-)
 > Neil.

I'm not sure what you mean then.  Would you say the behavior I
observed is a bug or feature?

		--Kaveh
--
Kaveh R. Ghazi			Engagement Manager / Project Services
ghazi@caip.rutgers.edu		Qwest Internet Solutions

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2001-12-17  7:28 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-12-16 13:46 Strange sign-compare results Kaveh R. Ghazi
2001-12-16 13:57 ` Neil Booth
2001-12-16 15:17   ` Neil Booth
2001-12-16 17:59 Kaveh R. Ghazi
2001-12-17  0:02 ` Neil Booth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).