Description of Problem: Trying to compile | struct foo { | union __attribute__ ((packed)) | { | }; | }; fails with | g++3 -c attr.cc | attr.cc:3: `class' tag used in naming `union foo::<anonymous>' Compiling with gcc-2.96, s!union!struct! or placing the '__attribute__((packed))' after the closing brace succeeds. The gcc documentation states in "Type Attributes" | You may also specify attributes between the enum, struct or union | tag and the name of the type rather than after the closing brace. so the code should be correctly. Version-Release number of selected component (if applicable): gcc3-3.1-0.23.1
Fixed in gcc 3.1 CVS, will be in gcc-3.1-0.26.