[Bug c++/92560] ICE using decltype(x < y) when that operator uses operator<=>

jason at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Dec 10 20:07:00 GMT 2019


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

--- Comment #1 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Tue Dec 10 20:06:58 2019
New Revision: 279183

URL: https://gcc.gnu.org/viewcvs?rev=279183&root=gcc&view=rev
Log:
        PR c++/92560 - ICE with decltype and rewritten operator.

A call as the immediate operand of decltype is handled differently; we don't
create an object of the return type as we do normally.  But in the case of a
rewritten operator, we're adding another call as a wrapper, so the inner
call doesn't get the special handling.

        * call.c (build_new_op_1): Clear tf_decltype on inner call.

Added:
    trunk/gcc/testsuite/g++.dg/cpp2a/spaceship-decltype1.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/call.c


More information about the Gcc-bugs mailing list