> -----Original Message----- > From: Marek Polacek <pola...@redhat.com> > Sent: Friday, February 16, 2024 11:11 AM > To: Andrew Pinski (QUIC) <quic_apin...@quicinc.com> > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [COMMITTED] c++: Add testcase for this PR [PR97990] > > On Fri, Feb 16, 2024 at 11:00:34AM -0800, Andrew Pinski wrote: > > This testcase was fixed by r14-5934-gf26d68d5d128c8 but we should add > > one to make sure it does not regress again. > > > > Committed as obvious after a quick test on the testcase. > > > > PR c++/97990 > > > > gcc/testsuite/ChangeLog: > > > > * g++.dg/torture/vector-struct-1.C: New test. > > > > Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com> > > --- > > gcc/testsuite/g++.dg/torture/vector-struct-1.C | 18 > > ++++++++++++++++++ > > 1 file changed, 18 insertions(+) > > create mode 100644 gcc/testsuite/g++.dg/torture/vector-struct-1.C > > > > diff --git a/gcc/testsuite/g++.dg/torture/vector-struct-1.C > > b/gcc/testsuite/g++.dg/torture/vector-struct-1.C > > new file mode 100644 > > index 00000000000..e2747417e2d > > --- /dev/null > > +++ b/gcc/testsuite/g++.dg/torture/vector-struct-1.C > > @@ -0,0 +1,18 @@ > > +/* PR c++/97990 */ > > +/* This used to crash with lto and strict aliasing enabled as the > > + vector type variant still had TYPE_ALIAS_SET set on it. */ > > You don't have -Wstrict-aliasing here without which the test didn't ICE.
Oh you are correct. This is what I committed after testing to make sure it even ICEd before the reference commit. Thanks, Andrew Pinski > > > +typedef __attribute__((__vector_size__(sizeof(short)))) short TSimd; > > +TSimd hh(int); struct y6 { > > + TSimd VALUE; > > + ~y6(); > > +}; > > +template <class T1,class T2> > > +auto f2(T1 p1, T2){ > > + return hh(p1) <= 0; > > +} > > +void f1(){ > > + f2(0, y6{}); > > +} > > -- > > 2.43.0 > > > > Marek
0001-Add-Wstrict-aliasing-to-vector-struct-1.C-testcase.patch
Description: 0001-Add-Wstrict-aliasing-to-vector-struct-1.C-testcase.patch