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

            Bug ID: 111426
           Summary: [11/12/13/14 Regression] "error: use of deleted
                    function" printed twice
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mpolacek at gcc dot gnu.org
  Target Milestone: ---

An inaccessible destructor prevents derivation:

struct X {
  ~X() = delete;
};

class D : public X { };
D d;

but we complain twice:

$ ./cc1plus -quiet q.C
q.C:6:3: error: use of deleted function ‘D::D()’
    6 | D d;
      |   ^
q.C:5:7: note: ‘D::D()’ is implicitly deleted because the default definition
would be ill-formed:
    5 | class D : public X { };
      |       ^
q.C:5:7: error: use of deleted function ‘X::~X()’
q.C:2:3: note: declared here
    2 |   ~X() = delete;
      |   ^
q.C:6:3: error: use of deleted function ‘D::~D()’
    6 | D d;
      |   ^
q.C:5:7: note: ‘D::~D()’ is implicitly deleted because the default definition
would be ill-formed:
    5 | class D : public X { };
      |       ^
q.C:5:7: error: use of deleted function ‘X::~X()’
q.C:2:3: note: declared here
    2 |   ~X() = delete;
      |   ^

Reply via email to