[Bug c++/16044] New: sizeof packed template class bug.
fonwin at ms21 dot hinet dot net
gcc-bugzilla@gcc.gnu.org
Fri Jun 18 01:59:00 GMT 2004
//---------------------------------------------
template<class T> class TT { T data; };
class T3 { char data[3]; };
//---------------------------------------------
#pragma pack(1)
// class TSomeRec; makes class TRec1; error!
class TSomeRec { TT<signed int> a; };
#pragma pack()
//---------------------------------------------
class TRec1 { T3 a; TT<signed int> b; };
class TRec2 { T3 a; TT<unsigned int> b; };
#pragma pack(1)
class TRec3 { T3 a; TT<signed int> b; };
class TRec4 { T3 a; TT<unsigned int> b; };
#pragma pack()
//---------------------------------------------
#include <stdio.h>
int main()
{
printf("sizeof(TRec1)=%d == sizeof(TRec2)?\n", sizeof(TRec1));
printf("sizeof(TRec2)=%d\n", sizeof(TRec2));
printf("sizeof(TRec3)=%d\n", sizeof(TRec3));
printf("sizeof(TRec4)=%d\n", sizeof(TRec4));
}
//---------------------------------------------
--
Summary: sizeof packed template class bug.
Product: gcc
Version: 3.2.2
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fonwin at ms21 dot hinet dot net
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16044
More information about the Gcc-bugs
mailing list