This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [C++/66270] another may_alias crash


On 05/26/2015 03:00 PM, Nathan Sidwell wrote:
Ok, so IIUC a canonical pointer to a may_alias type should have TRCAA
but a canonical can_alias_all pointer to a non-may_alias type should not
have TRCAA? (i.e. one where CAN_ALIAS_ALL was passed true). Or are you
saying that no canonical pointers should have TRCAA?

The former: A canonical pointer should have TRCAA if and only if the canonical referent is may_alias.

Hmm, are you seeing a case where TYPE_CANONICAL (to_type) has the
may_alias attribute?

Yes.  This occurs when the newly created TRCAA pointer is to a
self-canonical type.

Hmm, seems like that's another problem with your testcase: the canonical variant of __m256 should not have may_alias. But the canonical variant of a class or enum type could still have may_alias, so we still need to handle that case.

The patch is OK.

Jason


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]