This fixes an oversight in the support for parallel types: they are silently dropped when a type goes through make_packable_type.
Fixed thusly, tested on i586-suse-linux, applied on the mainline. 2011-04-22 Eric Botcazou <ebotca...@adacore.com> * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE onto the new type. -- Eric Botcazou
Index: gcc-interface/decl.c =================================================================== --- gcc-interface/decl.c (revision 172862) +++ gcc-interface/decl.c (working copy) @@ -6334,6 +6334,8 @@ make_packable_type (tree type, bool in_r finish_record_type (new_type, nreverse (field_list), 2, false); relate_alias_sets (new_type, type, ALIAS_SET_COPY); + SET_DECL_PARALLEL_TYPE (TYPE_STUB_DECL (new_type), + DECL_PARALLEL_TYPE (TYPE_STUB_DECL (type))); /* If this is a padding record, we never want to make the size smaller than what was specified. For QUAL_UNION_TYPE, also copy the size. */