https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117489
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu.org
Priority|P3 |P2
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #4)
> (In reply to Sam James from comment #2)
> > Don't we have another PR for that assert firing?
>
> You are thinking of PR 113197 but that is an assert in a different area
> though it is asserting on the same flag is not set, EAF_NO_DIRECT_READ .
I believe this assert is bogus as well. We have flags
EAF_NOT_RETURNED_INDIRECTLY | EAF_NO_DIRECT_READ | EAF_NO_INDIRECT_READ
so !callarg_transitive because of EAF_NOT_RETURNED_INDIRECTLY.
I think the code wrongly tries to assert that there has to be a direct read,
at least I don't see why - in this case 'this' is passed to e::*.LTHUNK0 only.
I also don't see what would go wrong with the code if there's a direct read.