darwin-ppc gets the alignment of nested structs wrong if they contain long long
or double members.

The apple compiler, gcc version 4.0.1 (Apple Computer, Inc. build 5247)
does it 'correctly'.

Here an example for a wrong alignment:

struct A {long long a; unsigned char b;};
struct D {unsigned char y; struct A x; unsigned char z;};
struct E {long long d; unsigned char e;};

struct y { struct A b2; struct D b3; struct E b4;};

The apple output of sizeof(y) is 56, the current fsf gcc head gives: 64.

I put a few sample test cases into gcc.target/powerpc/darwin-abi-3...11.c on
main.


-- 
           Summary: darwin-ppc, wrong alignment of nested structs
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: andreast at gcc dot gnu dot org
 GCC build triplet: powerpc-apple-darwin8.3.0
  GCC host triplet: powerpc-apple-darwin8.3.0
GCC target triplet: powerpc-apple-darwin8.3.0


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


Reply via email to