* [COMMITTED] c++: Add testcase for this PR [PR97990]
@ 2024-02-16 19:00 Andrew Pinski
2024-02-16 19:10 ` Marek Polacek
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Pinski @ 2024-02-16 19:00 UTC (permalink / raw)
To: gcc-patches; +Cc: Andrew Pinski
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_apinski@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. */
+
+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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [COMMITTED] c++: Add testcase for this PR [PR97990]
2024-02-16 19:00 [COMMITTED] c++: Add testcase for this PR [PR97990] Andrew Pinski
@ 2024-02-16 19:10 ` Marek Polacek
2024-02-16 21:57 ` Andrew Pinski (QUIC)
0 siblings, 1 reply; 3+ messages in thread
From: Marek Polacek @ 2024-02-16 19:10 UTC (permalink / raw)
To: Andrew Pinski; +Cc: gcc-patches
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_apinski@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.
> +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
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [COMMITTED] c++: Add testcase for this PR [PR97990]
2024-02-16 19:10 ` Marek Polacek
@ 2024-02-16 21:57 ` Andrew Pinski (QUIC)
0 siblings, 0 replies; 3+ messages in thread
From: Andrew Pinski (QUIC) @ 2024-02-16 21:57 UTC (permalink / raw)
To: Marek Polacek, Andrew Pinski (QUIC); +Cc: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 1938 bytes --]
> -----Original Message-----
> From: Marek Polacek <polacek@redhat.com>
> Sent: Friday, February 16, 2024 11:11 AM
> To: Andrew Pinski (QUIC) <quic_apinski@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_apinski@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
[-- Attachment #2: 0001-Add-Wstrict-aliasing-to-vector-struct-1.C-testcase.patch --]
[-- Type: application/octet-stream, Size: 1234 bytes --]
From be1027700122d5b57e14eb7ce0040a50fd1762d2 Mon Sep 17 00:00:00 2001
From: Andrew Pinski <quic_apinski@quicinc.com>
Date: Fri, 16 Feb 2024 13:26:30 -0800
Subject: [PATCH] Add -Wstrict-aliasing to vector-struct-1.C testcase
As noticed by Marek Polacek in https://gcc.gnu.org/pipermail/gcc-patches/2024-February/645836.html,
this testcase was not failing before without -Wstrict-aliasing so let's add that option.
Committed as obvious after testing to make sure the test is now testing with `-Wstrict-aliasing` and `-flto`.
gcc/testsuite/ChangeLog:
* g++.dg/torture/vector-struct-1.C: Add -Wstrict-aliasing.
Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
---
gcc/testsuite/g++.dg/torture/vector-struct-1.C | 1 +
1 file changed, 1 insertion(+)
diff --git a/gcc/testsuite/g++.dg/torture/vector-struct-1.C b/gcc/testsuite/g++.dg/torture/vector-struct-1.C
index e2747417e2d..969a801e680 100644
--- a/gcc/testsuite/g++.dg/torture/vector-struct-1.C
+++ b/gcc/testsuite/g++.dg/torture/vector-struct-1.C
@@ -1,3 +1,4 @@
+/* { dg-options "-Wstrict-aliasing" } */
/* 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. */
--
2.43.0
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-02-16 21:57 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-16 19:00 [COMMITTED] c++: Add testcase for this PR [PR97990] Andrew Pinski
2024-02-16 19:10 ` Marek Polacek
2024-02-16 21:57 ` Andrew Pinski (QUIC)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).