https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94359

--- Comment #4 from Iain Sandoe <iains at gcc dot gnu.org> ---
so, it seems:

rs6000_function_ok_for_sibcall () 

calls   rs6000_decl_ok_for_sibcall ()

which gets a NULL decl and thus this returns false


      /* Under the AIX or ELFv2 ABIs we can't allow calls to non-local
         functions, because the callee may have a different TOC pointer to
         the caller and there's no way to ensure we restore the TOC when
         we return.  */
      if (!decl || DECL_EXTERNAL (decl) || DECL_WEAK (decl)
          || !(*targetm.binds_local_p) (decl))
        return false;

====

The signature of the callee is void (void *)

So not sure how to proceed here at the moment (I wonder if this works for PPC
on the clang impl).

The comment indicates that this is going to fail for AIX too as it stands.

Reply via email to