https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91238
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Iain Buclaw from comment #3) > (In reply to Richard Biener from comment #2) > > Hm, so what exactly should ADDR_EXPR of a CALL_EXPR code-gen to? The ICE > > itself happens because add_expr, when traversing a CALL_EXPR does not > > unset OEP_ADDRESS_OF when processing arguments (taking the address of the > > CALL_EXPR doesn't mean we are taking the address of its arguments). > > I was thinking of putting the CALL_EXPR into a TARGET_EXPR, and taking the > address of that instead. That sounds good to me.