[Bug c++/29078] New: wrong alignment with pragma pack(4)

dsiata at poczta dot onet dot pl gcc-bugzilla@gcc.gnu.org
Thu Sep 14 07:58:00 GMT 2006


Simple testcase:
#include <stdio.h>
#pragma pack(4)
struct ABC
{
    double a;
    int b;
    bool c;
};
int main()
{
    ABC A;
    ABC B;
    int C;
    ABC D;
printf("A - %p; B - %p; C - %p; D - %p\n", &A, &B, &C, &D);
return 0;
}
compiled with:
gcc test.cpp -lstdc++
Variable D is aligned on 4 bytes and should be 8.

gcc -v:
Using built-in specs.
Target: sparc-sun-solaris2.8
Configured with: ../gcc-4.1.1/configure --prefix=/export/home/builder/gcc-4.1.1
--disable-multilib --enable-languages=c,c++
Thread model: posix
gcc version 4.1.1

Problem originally observed on linux - debian 3.1 with x86 and target
sparc-sun-solaris2.8, exists also on original sparc host.


-- 
           Summary: wrong alignment with pragma pack(4)
           Product: gcc
           Version: 4.1.1
            Status: UNCONFIRMED
          Severity: critical
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dsiata at poczta dot onet dot pl
 GCC build triplet: sparc-sun-solaris2.8
  GCC host triplet: sparc-sun-solaris2.8
GCC target triplet: sparc-sun-solaris2.8


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29078



More information about the Gcc-bugs mailing list