[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#356548: Processed: probably a compiler bug



Martin Michlmayr wrote:
> * Falk Hueffner <falk@debian.org> [2006-03-13 09:39]:
> > >> reassign 356548 g++-4.1
> > 
> > If you understand what the problem is here, it would be nice if you
> > could create a useful test case instead of a 30000 lines .ii file that
> > doesn't even compile on all architectures.
> 
> 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.

Ben.

-- 
Ben Hutchings
One of the nice things about standards is that there are so many of them.

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: