Il giorno mar, 03/08/2010 alle 17.03 +0100, Andrew Haley ha scritto: > > This looks incredible to me. I wonder why. > > Is it a bug? > > I don't think it is. gcc uses ssize_t (or, to be precise, a signed > integer type beased on sizetype) internally when constructing the size > of an array. Given that array offsets can be negative or positive. > this seems reasonable enough. So why if I write: big_dummy_t *p = (big_dummy_t*)0; uint16_t p = (uint16_t)&(p->singledata); I get NO warning? Do it use something different from ssize_t in this case? thanks