On Fri, Jul 16, 2021 at 05:36:13PM -0400, Marek Polacek via Gcc-patches wrote: > When implementing DR 1512 in r11-467 I neglected to reject ordered > comparison of two null pointers, like nullptr < nullptr. This patch > fixes that omission. > > Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk? > > DR 1512 > PR c++/99701 > > gcc/cp/ChangeLog: > > * cp-gimplify.c (cp_fold): Remove {LE,LT,GE,GT_EXPR} from > a switch. > * typeck.c (cp_build_binary_op): Reject ordered comparison > of two null pointers. > > gcc/testsuite/ChangeLog: > > * g++.dg/cpp0x/nullptr11.C: Remove invalid tests. > * g++.dg/cpp0x/nullptr46.C: Add dg-error. > * g++.dg/expr/ptr-comp4.C: New test. > > libstdc++-v3/ChangeLog: > > * testsuite/20_util/tuple/comparison_operators/overloaded.cc: > Add dg-error.
Maybe it would be useful to have also a g++.dg/cpp2a/ testcase with nullptr <=> nullptr etc. (nullptr <=> 0, etc. what you test in ptr-comp4.C after #include <compare>). Jakub