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

            Bug ID: 106898
           Summary: ECF_NOTHROW for __cxa_deleted_virtual or not for
                    __cxa_pure_virtual
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: aoliva at gcc dot gnu.org
  Target Milestone: ---

I see no reason for the difference WRT ECF_NOTHROW between
__cxa_deleted_virtual and __cxa_pure_virtual library declarations pushed in
decl.cc and class.cc, respectively.  Their implementations behave essentially
the same, I suppose both might be user-overridable (though I see no evidence
that this is indeed the case), and neither promises not to throw in the C++ ABI
document (but I realize throwing from either one could be problematic if the
virtual method happens to be nothrow).

Unless there's good reason to keep this flag difference, IMHO it would be
desirable to resolve the inconsistency one way or another.

Reply via email to