On 7 June 2017 at 08:38, 林作健 wrote: > I have found the cause of this bug. > In 5.3, the function strip_typedefs only use > result = cp_build_type_attribute_variant (result, TYPE_ATTRIBUTES (t)); > but in 6.3 remove_attributes prediction get invovled: > if (TYPE_ATTRIBUTES (t)) > { > if (remove_attributes) > result = apply_identity_attributes (result, TYPE_ATTRIBUTES (t), > remove_attributes); > else > result = cp_build_type_attribute_variant (result, TYPE_ATTRIBUTES (t)); > } > and unfortunately the pcs attribute is declared as > { "pcs", 1, 1, false, true, true, arm_handle_pcs_attribute, > false }, > which affects_type_identity field is set to false, cause > apply_identity_attributes > drop this attribute.
Please put this information in bugzilla where it belongs, thanks. Also if it is a regression since 5.3 please mention that in the comments too.