clone 356548 -1 reassign -1 par2cmdline tags 356548 + upstream forwarded 356548 http://gcc.gnu.org/PR26670 thanks
Ben Hutchings <[EMAIL PROTECTED]> writes: > Martin Michlmayr wrote: >> I don't understand the problem. Ben (CCed) made a suggestion, but >> afaik he hasn't been able yet to come up with a simple test case. > > I have now, and it isn't MIPS-specific: > > class le > { > protected: > int value; > }; > > struct MD5Hash > { > MD5Hash(const MD5Hash &); > char hash[16]; > }; > > struct PACKET_HEADER > { > le length; > MD5Hash setid; > } __attribute__ ((packed)); > > struct MAINPACKET > { > PACKET_HEADER header; > MD5Hash fileid[0]; > } __attribute__ ((packed)); > > const MD5Hash& FileId(const char *packetdata, int filenumber) > { > return ((const MAINPACKET*)packetdata)->fileid[filenumber]; > } > > const MD5Hash& SetId(const char *packetdata) > { > return ((const MAINPACKET*)packetdata)->header.setid; > } > > // END > > SetId provokes the error; FileId doesn't. The problem is that the packedness of MAINPACKET::header isn't ignored. Note also that the program will not work as intended, because (as soon as gcc is fixed) all the packedness is ignored. So I clone this bug. -- Falk -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]