This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/15209] [3.4/3.5 Regression]Runs out of memory with packed structs
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Apr 2004 20:04:40 -0000
- Subject: [Bug c++/15209] [3.4/3.5 Regression]Runs out of memory with packed structs
- References: <20040429194010.15209.bangerth@dealii.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2004-04-29 20:04 -------
Confirmed, reduced to at least (note this can most likely be reduced down further):
typedef unsigned int size_t;
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;
typedef unsigned int uint32_t;
__extension__ typedef unsigned long long int uint64_t;
typedef uint8_t u8;
typedef uint16_t u16;
typedef uint32_t u32;
typedef uint64_t u64;
struct MAGIC {u8 magic[8];} __attribute__ ((packed));
struct PACKETTYPE {u8 type[16];} __attribute__ ((packed));
typedef u16 leu16;
typedef u32 leu32;
typedef u64 leu64;
class MD5Hash
{
public:
MD5Hash(void) {};
void *print(void) const;
MD5Hash(const MD5Hash &other);
MD5Hash& operator=(const MD5Hash &other);
public:
u8 hash[16];
};
struct PACKET_HEADER
{
MAGIC magic;
leu64 length;
MD5Hash hash;
MD5Hash setid;
PACKETTYPE type;
} __attribute__ ((packed));
struct MAINPACKET
{
PACKET_HEADER header;
leu64 blocksize;
leu32 recoverablefilecount;
MD5Hash fileid[0];
} __attribute__ ((packed));
struct CriticalPacket
{
u8 *packetdata;
size_t packetlength;
};
class MainPacket : public CriticalPacket
{
const MD5Hash& SetId(void) const;
u64 blocksize;
u32 totalfilecount;
u32 recoverablefilecount;
};
inline const MD5Hash& MainPacket::SetId(void) const
{
return ((const MAINPACKET*)packetdata)->header.setid;
}
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Keywords| |ice-on-valid-code, memory-
| |hog
Known to fail| |3.4.0 3.5.0
Known to work| |3.3.3
Last reconfirmed|0000-00-00 00:00:00 |2004-04-29 20:04:38
date| |
Summary|Runs out of memory with |[3.4/3.5 Regression]Runs out
|packed structs |of memory with packed
| |structs
Target Milestone|--- |3.4.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15209