aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/openmp.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2021-08-12 09:16:13 +0200
committerJakub Jelinek <jakub@redhat.com>2021-08-12 09:34:16 +0200
commit9b7ab853bf33106fd0539e36d6ce7730269026e1 (patch)
treecd246195e79ecfddde3abe1930acea5e5083e592 /gcc/fortran/openmp.c
parentc84f79e9e3f63e9ae447fd15dbd0a768cab3f643 (diff)
downloadgcc-9b7ab853bf33106fd0539e36d6ce7730269026e1.zip
gcc-9b7ab853bf33106fd0539e36d6ce7730269026e1.tar.gz
gcc-9b7ab853bf33106fd0539e36d6ce7730269026e1.tar.bz2
c++: Fix ICE on defaulted spaceship with pointer return type [PR94162]
The spaceship-synth-neg6.C testcase ICEs because we call cat_tag_for on the explicit return type, but pointer types don't have TYPE_LINKAGE_IDENTIFIER. The patch fixes that by checking for CLASS_TYPE_P only and also adds verification that it is in std namespace, so we don't return non-cc_last for my_namespace::partial_ordering. The g++.dg/cpp2a/spaceship-synth11.C testcase is from a PR that has been fixed with r12-619-gfc178519771db508c03611cff4a1466cf67fce1d (but not backported to 11). 2021-08-12 Jakub Jelinek <jakub@redhat.com> gcc/cp/ PR c++/94162 * method.c (cat_tag_for): Return cc_last for !CLASS_TYPE_P or for classes not in std namespace. gcc/testsuite/ PR c++/99429 * g++.dg/cpp2a/spaceship-synth11.C: New test. PR c++/94162 * g++.dg/cpp2a/spaceship-synth-neg6.C: New test.
Diffstat (limited to 'gcc/fortran/openmp.c')
0 files changed, 0 insertions, 0 deletions