This is the mail archive of the
mailing list for the GCC project.
Re: implicit cast from unsigned long to unsigned int gives no warning with -Wall (64 bits arch)
On Wed, 21 Nov 2007, Tom St Denis wrote:
Vincent Torri wrote:
I have an ubuntu 64 bits on my core 2 duo. gcc version is 4.1.2
I compile that code with -Wall:
unsigned int htonl (unsigned int i)
i = 0;
unsigned long i;
unsigned int j;
i = 0;
j = htonl (i);
I want to know why you assume j = ... should give a warning but not i = 0.
(hint: what is the type of 0?).
In C, casts are implicit. That's how you can do things like
int ch = 'a';
you can't loose data here, while a cast from a 64bits int to a 32 bits can
I was not precise enough : i was expecting a warning on the line where
htonl is called