> It's almost like the compiler is getting the initializer wrong. It's a > long shot, but I wonder if the presence of the bitfield could be > triggering a compiler bug (or there is a subtle C rule about bitfield > initializations that I do not know). Just for the sake of my sanity, > what does the following program output for you? Hi, just "cmp is 0" is printed. $ gcc --version gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Best regards, Jongman Heo.ÿ淸º{.nÇ+돴윯돪†+%듚ÿ깁負¥Šwÿº{.nÇ+돴 듹â왲^n‡r⊆¦zË곷h솳鈺Ú&{àz요z받쀺+€Ê+zf"·hš닱~넮녬iÿÿï곴ÿ묎çz_溫æj:+v돣þ)山øm