------- Comment #3 from shenrfen at gmail dot com  2009-10-22 09:42 -------
Confused for the result. 
int main()
{
        struct s t = {1, 2, 3};
        printf("0x%llx\n",(t.a-8));
        printf("0x%llx\n",(t.b-8));
        printf("0x%llx\n",(t.c-8));
}
the output is as following
0xfffffff9     (32 bit)
0xfffffffffa   (40 bit)
0xfffffffffb   (40 bit)

if one operand type is long long bit filed and another is 32-bit int, What is
the type conversion rule? Or it is an undefined behavior?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41793

Reply via email to