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.