This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: No Compilation Warning...


"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. 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]