-
- Downloads
[C++] Make same_type_p return false for gnu_vector_type_p differences (PR 92789)
As Jason pointed out in the review of the C++ gnu_vector_type_p patch: https://gcc.gnu.org/ml/gcc-patches/2019-12/msg00173.html the real fix for the XFAILs in acle/general-c++/gnu_vectors_*.C is to make same_type_p return false for two types if one is gnu_vector_type_p and the other isn't. This patch does that and fixes the fallout. Originally I'd tried to make it so that "X *" and "Y *" are interconvertible whenever X and Y are, and similarly for "X &" and "Y &". That doesn't fall out naturally though, and is different from how -flax-vector-conversions works. The patch therefore accepts all the consequences of making X and Y !same_type_p instead of trying to work around them. 2019-12-23 Richard Sandiford <richard.sandiford@arm.com> gcc/cp/ PR c++/92789 * typeck.c (structural_comptypes): Make sure that two vector types agree on gnu_vector_type_p. gcc/testsuite/ PR c++/92789 * g++.dg/ext/sve-sizeless-2.C (statements): Expect pointer difference and comparisons between GNU and non-GNU types to be rejected. Expect __is_same to be false for such pairs. * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_1.C: Remove XFAILs. Expect conversions between SVE vector pointers and GNU vector pointers to be rejected. Test references. * g++.target/aarch64/sve/acle/general-c++/gnu_vectors_2.C: Likewise. From-SVN: r279717
Showing
- gcc/cp/ChangeLog 6 additions, 0 deletionsgcc/cp/ChangeLog
- gcc/cp/typeck.c 2 additions, 1 deletiongcc/cp/typeck.c
- gcc/testsuite/ChangeLog 11 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/ext/sve-sizeless-2.C 22 additions, 22 deletionsgcc/testsuite/g++.dg/ext/sve-sizeless-2.C
- gcc/testsuite/g++.target/aarch64/sve/acle/general-c++/gnu_vectors_1.C 21 additions, 7 deletions...e/g++.target/aarch64/sve/acle/general-c++/gnu_vectors_1.C
- gcc/testsuite/g++.target/aarch64/sve/acle/general-c++/gnu_vectors_2.C 21 additions, 7 deletions...e/g++.target/aarch64/sve/acle/general-c++/gnu_vectors_2.C
Loading
Please register or sign in to comment