[Bug middle-end/24462] [4.1/4.2 Regression] packed-aligned structures are laid out differently
--- Comment #9 from ebotcazou at gcc dot gnu dot org 2006-01-03 21:00 --- Is this still a problem? Not anymore, the 4.0 vs 4.1 compat testsuite is now clean both in 32-bit and 64-bit mode. -- ebotcazou at gcc dot gnu dot org changed: What|Removed |Added Status|WAITING |RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24462
[Bug middle-end/24462] [4.1/4.2 Regression] packed-aligned structures are laid out differently
--- Comment #8 from jakub at gcc dot gnu dot org 2005-12-29 12:32 --- Is this still a problem? I certainly can't reproduce this on sparc*-linux: struct B1_m_outer_p_inner { char c; double d; } __attribute__ ((aligned)) __attribute__ ((packed)) s; extern void abort (void); int main () { char *p, *q; if (sizeof (struct B1_m_outer_p_inner) != 16 || __alignof__ (struct B1_m_outer_p_inner) != 8 || sizeof (s) != 16 || __alignof__ (s) != 8 || __alignof__ (s.c) != 1 || __alignof__ (s.d) != 1) abort (); p = s.c; q = (char *) s.d; if (q - p != 1) abort (); return 0; } succeeds with both GCC 3.4.x and current trunk. -- jakub at gcc dot gnu dot org changed: What|Removed |Added Status|NEW |WAITING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24462