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.