aboutsummaryrefslogtreecommitdiff
path: root/libgcc/libgcc2.c
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2022-11-29 19:25:37 -0500
committerPatrick Palka <ppalka@redhat.com>2022-11-29 19:25:37 -0500
commit000e9863120cbc75a0f8d497264519974c97669f (patch)
treee5389b1fcb398cbdb2016d312642d4ec7d8e3910 /libgcc/libgcc2.c
parent9b377463856c8ca985c0a8c95de8712ffa4b5ef6 (diff)
downloadgcc-000e9863120cbc75a0f8d497264519974c97669f.zip
gcc-000e9863120cbc75a0f8d497264519974c97669f.tar.gz
gcc-000e9863120cbc75a0f8d497264519974c97669f.tar.bz2
c++: ICE with <=> of incompatible pointers [PR107542]
In a SFINAE context composite_pointer_type returns error_mark_node if the given pointer types are incompatible. But the SPACESHIP_EXPR case of cp_build_binary_op wasn't prepared for this error_mark_node result, which led to an ICE (from spaceship_comp_cat) for the below testcase. (In a non-SFINAE context composite_pointer_type issues a permerror and returns cv void* in this case, so this ICE seems specific to SFINAE.) PR c++/107542 gcc/cp/ChangeLog: * typeck.cc (cp_build_binary_op): In the SPACESHIP_EXPR case, handle an error_mark_node result type. gcc/testsuite/ChangeLog: * g++.dg/cpp2a/spaceship-sfinae2.C: New test.
Diffstat (limited to 'libgcc/libgcc2.c')
0 files changed, 0 insertions, 0 deletions