Hi! I have a strange problem with some of my source code. I have something similar as the small test case below, which I compile with multiple different compilers (and compiler versions), including visual c++ 2003, 2005 and 2008 and GCC 3.3 and 4.2. It seems that gcc 4.2 makes some troubles ;) could please somebody take a look at the things below, and tell me wether I'm just blind and dumb, or there is a problem with gcc? Thanks in advance, Cheers, Markus mduft build $ cat zz.c #include <stdio.h> typedef struct __attribute__((packed, aligned(2))) { unsigned int a; unsigned short b; unsigned int c; } teststruct; int main(void) { printf("uint: %d, ushort: %d, struct: %d (should be %d)\n", sizeof(unsigned int), sizeof(unsigned short), sizeof(teststruct), (sizeof(unsigned int) * 2) + sizeof(unsigned short)); } mduft build $ gcc zz.c mduft build $ ./a.out uint: 4, ushort: 2, struct: 12 (should be 10) mduft build $ gcc -v Using built-in specs. Target: i586-pc-interix6.0 Configured with: /opt/gentoo.system/var/tmp/portage/sys-devel/gcc-4.2.4-r00.1/work/gcc-4. 2.4/configure --prefix=/opt/gentoo.system/usr --bindir=/opt/gentoo.system/usr/i586-pc-interix6.0/gcc-bin/4.2.4 --includedir=/opt/gentoo.system/usr/lib/gcc/i586-pc-interix6.0/4.2.4/inc lude --datadir=/opt/gentoo.system/usr/share/gcc-data/i586-pc-interix6.0/4.2.4 --mandir=/opt/gentoo.system/usr/share/gcc-data/i586-pc-interix6.0/4.2.4/ man --infodir=/opt/gentoo.system/usr/share/gcc-data/i586-pc-interix6.0/4.2.4 /info --with-gxx-include-dir=/opt/gentoo.system/usr/lib/gcc/i586-pc-interix6.0 /4.2.4/include/g++-v4 --host=i586-pc-interix6.0 --build=i586-pc-interix6.0 --disable-altivec --disable-nls --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-multilib --disable-libmudflap --disable-libssp --disable-libgcj --enable-languages=c,c++,treelang --enable-shared --enable-threads=posix --with-local-prefix=/opt/gentoo.system/usr Thread model: posix gcc version 4.2.4 (Gentoo 4.2.4-r00.1 p1.0) mduft build $ /opt/gcc.3.3/bin/gcc zz.c mduft build $ ./a.out uint: 4, ushort: 2, struct: 10 (should be 10) mduft build $