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

            Bug ID: 92966
           Summary: Segfault on defaulted operator== with wrong return
                    type
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: arthur.j.odwyer at gmail dot com
  Target Milestone: ---

cat >test.cc <<EOF
struct S3 {
    int operator==(const S3&) const = default;
};
static_assert(S3{} == S3{});
EOF
g++ -std=c++2a test.cc


test.cc:2:9: error: defaulted 'int S3::operator==(const S3&) const' must return
'bool'
    2 |     int operator==(const S3&) const = default;
      |         ^~~~~~~~
test.cc: In member function 'constexpr int S3::operator==(const S3&) const':
test.cc:2:9: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to