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. -- Lin Zuojian
2017-06-07 9:39 GMT+08:00 林作健 <manjian2...@gmail.com>: > Hi, > Please help me with the following bug. It's a blocker. > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80986 > Thanks. > -- > Lin Zuojian