Il giorno mar, 03/08/2010 alle 17.03 +0100, Andrew Haley ha scritto: > 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. I get the same warning also if I cast to size_t: size_t p = (size_t)&(((big_dummy_t*)0)->singledata); Is reasonable to think that that offset could be negative, but I obtain that warning also if I write: dummy_t *p; p = &(((big_dummy_t*)0)->singledata); there is no way to "force" gcc to use 32bit integer? thanks