Re: signed/unsigned comparison warning level

2010-09-27 Thread J Decker
comparison. unsigned int x; int y; if ((int)x y) -Rick -Original message- From: J Decker d3c...@gmail.com To: Ian Lance Taylor i...@google.com Cc: gcc@gcc.gnu.org Sent: Mon, Sep 27, 2010 05:51:56 GMT+00:00 Subject: Re: signed/unsigned comparison warning level The standards did

Re: signed/unsigned comparison warning level

2010-09-27 Thread David Brown
On 27/09/2010 07:51, J Decker wrote: The standards did not leave this open. They define precisely what is supposed to happen. Really? I'll have to drop this whole lobbying effort then. That makes me sad that they didn't define it to be comparing of the numbers where there are overlaps in

Re: signed/unsigned comparison warning level

2010-09-27 Thread Manuel López-Ibáñez
On 27 September 2010 05:19, J Decker d3c...@gmail.com wrote: I don't know why standards left this open, other than there isn't a single-instruction translation from code to CPU for the comparison; But if it's not fixed, this warning should definatly be issued at default warning level.  This

signed/unsigned comparison warning level

2010-09-26 Thread J Decker
Can the severity of signed/unsigned comparisons be raised, since GCC does not properly handle the comparisons. Every example below is false compiled with gcc 4.5.0 int main() { int s = -2; unsigned int u = 0xFFFDU; if( s u ) printf( okay\n );

Re: signed/unsigned comparison warning level

2010-09-26 Thread Ian Lance Taylor
J Decker d3c...@gmail.com writes: Can the severity of signed/unsigned comparisons be raised, since GCC does not properly handle the comparisons. GCC properly handles the comparisons according to the rules laid down in the C/C++ language standards. int main() { int s = -2;

Re: signed/unsigned comparison warning level

2010-09-26 Thread J Decker
The standards did not leave this open.  They define precisely what is supposed to happen. Really? I'll have to drop this whole lobbying effort then. That makes me sad that they didn't define it to be comparing of the numbers where there are overlaps in signed and unsigned instead of causing