This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/16044] New: sizeof packed template class bug.


//---------------------------------------------
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]