------- Comment #6 from rguenth at gcc dot gnu dot org 2007-07-06 14:05 ------- The following testcase exposes the problem in Initialize()
struct STRUCT_6_BYTES { unsigned char slot[sizeof(unsigned short)]; unsigned char page[sizeof(unsigned int)]; }; struct SQLU_DICT_INFO_0 { void * pBlah; char bSomeFlag1; char bSomeFlag2; STRUCT_6_BYTES dRID; }; STRUCT_6_BYTES INIT_6_BYTES_ZERO(void) { STRUCT_6_BYTES ridOut = { {0,0}, {0,0,0,0} } ; return ridOut; } void Initialize(SQLU_DICT_INFO_0 *pDictRidderInfo) { pDictRidderInfo->bSomeFlag1 = 0; pDictRidderInfo->bSomeFlag2 = 0; pDictRidderInfo->dRID = INIT_6_BYTES_ZERO(); } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31309