This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: No Compilation Warning...
- From: llewelly at xmission dot com
- To: "Manje Gowda S G" <sakala at linuxmail dot org>
- Cc: gcc at gcc dot gnu dot org
- Date: 14 Jun 2004 10:37:28 -0600
- Subject: Re: No Compilation Warning...
- References: <20040614122306.A0ECD3983FB@ws5-1.us4.outblaze.com>
"Manje Gowda S G" <sakala@linuxmail.org> writes:
> Hi,
>
> test.c: In function `main':
> test.c:7: warning: comparison is always true due to limited range of data type
>
> I am getting the above warning on compilation of the following code
>
> #include <stdio.h>
>
> int main()
> {
> unsigned short s;
>
> if (0 <= s) {
> printf("Hello Sakala\n");
> }
> return(0);
> }
>
> Ya, warning make sense but if I change "unsigned short s;" to as follows
>
> #include <stdio.h>
>
> int main()
> {
> unsigned int s;
>
> if (0 <= s) {
> printf("Hello Sakala\n");
> }
> return(0);
> }
>
> then on compilation, (if I am not wrong...) I am suppose to get the same warning message, but no.
> Is this a bug or am I wrong some where? sorry if I am wrong.
>
> I use...,
> gcc version 3.3.2 20031022 (Red Hat Linux 3.3.2-1)
I get:
gowda.cc: In function nt main()':
gowda.cc:7: warning: comparison of unsigned expression >= 0 is always true
for gcc 2.95.3, 3.3.3, 3.4, and 3.5 20040606 .
Maybe the bug is unique to 3.3.2 or the redhat derivative.