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

Reply via email to