------- Comment #6 from sje at cup dot hp dot com 2010-02-17 18:03 ------- I tried the test with GCC 4.4.0 and 4.3.3 on IA64, in those cases the test failed because we didn't actually pack anything and then the if test failed and we called abort.
$ /opt/hp-gcc-4.3.3/bin/g++ -Wpacked packed1.C -o x;./x packed1.C:7: warning: packed attribute causes inefficient alignment for 'INNER' packed1.C:13: warning: ignoring packed attribute because of unpacked non-POD field 'INNER OUTER::inner' Abort(coredump) With the latest compiler on IA64, we try to pack the structure. This results in no warning messages but we then generate a Bus error, probably due to illegal alignment. So the test never worked but this still seems like a regression in behaviour. The HP compiler seems to handle this, it compiles and runs without calling abort. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42837