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

            Bug ID: 99778
           Summary: Spurious -Wzero-as-null-pointer-constant on three-way
                    comparisons
           Product: gcc
           Version: 10.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: headch at gmail dot com
  Target Milestone: ---

Consider the following code:

#include <compare>
#include <iostream>

int main() {
        std::strong_ordering o = 1 <=> 2;
        if(o == 0) {
                std::cout << "equal\n";
        } else {
                std::cout << "unequal\n";
        }
        return 0;
}

When compiled with -Wzero-as-null-pointer-constant, this generates a warning on
the “if” line.

This sounds almost the same as bug #95242, except that bug is closed as fixed
for 10.2, and I am running 10.2.0 and still get this problem; also, the code
quoted in that bug does not generate a warning for me, while this code still
does.

Reply via email to