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

Thomas Schwinge <tschwinge at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2020-04-22

--- Comment #4 from Thomas Schwinge <tschwinge at gcc dot gnu.org> ---
(In reply to Andrew Stubbs from comment #3)
> (In reply to Andrew Pinski from comment #2)
> > (In reply to Tobias Burnus from comment #1)
> > > The symbol __gxx_personality_v0 is part of libsupc++ – which I believe is
> > > not build to to lacking/restricted C++ support.
> > 
> > It is also exception handling related.  Does amdgcn have EH support?
> 
> No, it does not. No unwind support, nor sjlj either (the register file is
> very large, and has variable size, so it's not trivial to implement, IIUC).

Unexpectedly, the same as for nvptx.

So:

(In reply to Thomas Schwinge from comment #0)
> Assuming that's not yet done

(It isn't.)

> can something similar be done as done for
> nvptx, where we force-disable all C++ exceptions code/tables generation, see
> PR86660 GCC trunk r263265, and then GCC trunk r263287?

Seems so.  I successfully tested the following change to
'gcc/common/config/gcn/gcn-common.c'; OK to commit?  If approving this patch,
please respond with "Reviewed-by: NAME <EMAIL>" so that your effort will be
recorded in the commit log, see <https://gcc.gnu.org/wiki/Reviewed-by>.

    +static enum unwind_info_type
    +gcn_except_unwind_info (struct gcc_options *opts ATTRIBUTE_UNUSED)
    +{
    +  return UI_NONE;
    +}

    +#undef  TARGET_EXCEPT_UNWIND_INFO
    +#define TARGET_EXCEPT_UNWIND_INFO gcn_except_unwind_info

Reply via email to