* [PATCH] testsuite: Add further zero size elt passing tests [PR102024]
@ 2022-03-31 15:54 Jakub Jelinek
2022-04-01 9:44 ` Richard Biener
2022-04-06 15:24 ` Jeff Law
0 siblings, 2 replies; 3+ messages in thread
From: Jakub Jelinek @ 2022-03-31 15:54 UTC (permalink / raw)
To: Richard Biener; +Cc: gcc-patches
Hi!
As discussed in PR102024, zero width bitfields might not be the only ones
causing ABI issues at least on mips, zero size arrays or (in C only) zero
sized (empty) structures can be problematic too.
The following patch adds some coverage for it too.
Tested on x86_64-linux with
make check-gcc check-g++ RUNTESTFLAGS='ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ --target_board=unix\{-m32,-m64\} compat.exp=pr102024*'
make check-gcc check-g++ RUNTESTFLAGS='ALT_CC_UNDER_TEST=clang ALT_CXX_UNDER_TEST=clang++ --target_board=unix\{-m32,-m64\} compat.exp=pr102024*'
with gcc/g++ 10.3 and clang 11. Everything but (expectedly)
FAIL: gcc.dg/compat/pr102024 c_compat_x_tst.o-c_compat_y_alt.o execute
FAIL: gcc.dg/compat/pr102024 c_compat_x_alt.o-c_compat_y_tst.o execute
for -m64 ALT_CC_UNDER_TEST=gcc passes.
Ok for trunk?
2022-03-31 Jakub Jelinek <jakub@redhat.com>
PR target/102024
* gcc.dg/compat/pr102024_test.h: Add further tests with zero sized
structures and arrays.
* g++.dg/compat/pr102024_test.h: Add further tests with zero sized
arrays.
--- gcc/testsuite/gcc.dg/compat/pr102024_test.h.jj 2022-03-24 12:24:41.625100842 +0100
+++ gcc/testsuite/gcc.dg/compat/pr102024_test.h 2022-03-31 17:36:33.486710917 +0200
@@ -4,3 +4,9 @@ T(2,int:0;float a;,F(2,a,2.25f,16.5f))
T(3,double a;long long:0;double b;,F(3,a,42.0,43.125)F(3,b,-17.5,35.75))
T(4,double a;long long:0;,F(4,a,1.0,17.125))
T(5,long long:0;double a;,F(5,a,2.25,16.5))
+T(6,float a;struct{}b;float c;,F(6,a,42.0f,43.125f)F(6,c,-17.5f,35.75f))
+T(7,float a;struct{}b[0];;,F(7,a,1.0f,17.125f))
+T(8,int a[0];float b;,F(8,b,2.25f,16.5f))
+T(9,double a;long long b[0];double c;,F(9,a,42.0,43.125)F(9,c,-17.5,35.75))
+T(10,double a;struct{}b;,F(10,a,1.0,17.125))
+T(11,struct{}a[0];double b;,F(11,b,2.25,16.5))
--- gcc/testsuite/g++.dg/compat/pr102024_test.h.jj 2022-03-24 12:24:41.625100842 +0100
+++ gcc/testsuite/g++.dg/compat/pr102024_test.h 2022-03-31 17:37:30.763877562 +0200
@@ -4,3 +4,9 @@ T(2,int:0;float a;,F(2,a,2.25f,16.5f))
T(3,double a;long long:0;double b;,F(3,a,42.0,43.125)F(3,b,-17.5,35.75))
T(4,double a;long long:0;,F(4,a,1.0,17.125))
T(5,long long:0;double a;,F(5,a,2.25,16.5))
+T(6,float a;struct{}b[0];float c;,F(6,a,42.0f,43.125f)F(6,c,-17.5f,35.75f))
+T(7,float a;struct{}b[0];;,F(7,a,1.0f,17.125f))
+T(8,int a[0];float b;,F(8,b,2.25f,16.5f))
+T(9,double a;long long b[0];double c;,F(9,a,42.0,43.125)F(9,c,-17.5,35.75))
+T(10,double a;struct{}b[0];,F(10,a,1.0,17.125))
+T(11,struct{}a[0];double b;,F(11,b,2.25,16.5))
Jakub
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] testsuite: Add further zero size elt passing tests [PR102024]
2022-03-31 15:54 [PATCH] testsuite: Add further zero size elt passing tests [PR102024] Jakub Jelinek
@ 2022-04-01 9:44 ` Richard Biener
2022-04-06 15:24 ` Jeff Law
1 sibling, 0 replies; 3+ messages in thread
From: Richard Biener @ 2022-04-01 9:44 UTC (permalink / raw)
To: Jakub Jelinek; +Cc: gcc-patches
On Thu, 31 Mar 2022, Jakub Jelinek wrote:
> Hi!
>
> As discussed in PR102024, zero width bitfields might not be the only ones
> causing ABI issues at least on mips, zero size arrays or (in C only) zero
> sized (empty) structures can be problematic too.
>
> The following patch adds some coverage for it too.
>
> Tested on x86_64-linux with
> make check-gcc check-g++ RUNTESTFLAGS='ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ --target_board=unix\{-m32,-m64\} compat.exp=pr102024*'
> make check-gcc check-g++ RUNTESTFLAGS='ALT_CC_UNDER_TEST=clang ALT_CXX_UNDER_TEST=clang++ --target_board=unix\{-m32,-m64\} compat.exp=pr102024*'
> with gcc/g++ 10.3 and clang 11. Everything but (expectedly)
> FAIL: gcc.dg/compat/pr102024 c_compat_x_tst.o-c_compat_y_alt.o execute
> FAIL: gcc.dg/compat/pr102024 c_compat_x_alt.o-c_compat_y_tst.o execute
> for -m64 ALT_CC_UNDER_TEST=gcc passes.
>
> Ok for trunk?
OK.
> 2022-03-31 Jakub Jelinek <jakub@redhat.com>
>
> PR target/102024
> * gcc.dg/compat/pr102024_test.h: Add further tests with zero sized
> structures and arrays.
> * g++.dg/compat/pr102024_test.h: Add further tests with zero sized
> arrays.
>
> --- gcc/testsuite/gcc.dg/compat/pr102024_test.h.jj 2022-03-24 12:24:41.625100842 +0100
> +++ gcc/testsuite/gcc.dg/compat/pr102024_test.h 2022-03-31 17:36:33.486710917 +0200
> @@ -4,3 +4,9 @@ T(2,int:0;float a;,F(2,a,2.25f,16.5f))
> T(3,double a;long long:0;double b;,F(3,a,42.0,43.125)F(3,b,-17.5,35.75))
> T(4,double a;long long:0;,F(4,a,1.0,17.125))
> T(5,long long:0;double a;,F(5,a,2.25,16.5))
> +T(6,float a;struct{}b;float c;,F(6,a,42.0f,43.125f)F(6,c,-17.5f,35.75f))
> +T(7,float a;struct{}b[0];;,F(7,a,1.0f,17.125f))
> +T(8,int a[0];float b;,F(8,b,2.25f,16.5f))
> +T(9,double a;long long b[0];double c;,F(9,a,42.0,43.125)F(9,c,-17.5,35.75))
> +T(10,double a;struct{}b;,F(10,a,1.0,17.125))
> +T(11,struct{}a[0];double b;,F(11,b,2.25,16.5))
> --- gcc/testsuite/g++.dg/compat/pr102024_test.h.jj 2022-03-24 12:24:41.625100842 +0100
> +++ gcc/testsuite/g++.dg/compat/pr102024_test.h 2022-03-31 17:37:30.763877562 +0200
> @@ -4,3 +4,9 @@ T(2,int:0;float a;,F(2,a,2.25f,16.5f))
> T(3,double a;long long:0;double b;,F(3,a,42.0,43.125)F(3,b,-17.5,35.75))
> T(4,double a;long long:0;,F(4,a,1.0,17.125))
> T(5,long long:0;double a;,F(5,a,2.25,16.5))
> +T(6,float a;struct{}b[0];float c;,F(6,a,42.0f,43.125f)F(6,c,-17.5f,35.75f))
> +T(7,float a;struct{}b[0];;,F(7,a,1.0f,17.125f))
> +T(8,int a[0];float b;,F(8,b,2.25f,16.5f))
> +T(9,double a;long long b[0];double c;,F(9,a,42.0,43.125)F(9,c,-17.5,35.75))
> +T(10,double a;struct{}b[0];,F(10,a,1.0,17.125))
> +T(11,struct{}a[0];double b;,F(11,b,2.25,16.5))
>
> Jakub
>
>
--
Richard Biener <rguenther@suse.de>
SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg,
Germany; GF: Ivo Totev; HRB 36809 (AG Nuernberg)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] testsuite: Add further zero size elt passing tests [PR102024]
2022-03-31 15:54 [PATCH] testsuite: Add further zero size elt passing tests [PR102024] Jakub Jelinek
2022-04-01 9:44 ` Richard Biener
@ 2022-04-06 15:24 ` Jeff Law
1 sibling, 0 replies; 3+ messages in thread
From: Jeff Law @ 2022-04-06 15:24 UTC (permalink / raw)
To: gcc-patches
On 3/31/2022 9:54 AM, Jakub Jelinek via Gcc-patches wrote:
> Hi!
>
> As discussed in PR102024, zero width bitfields might not be the only ones
> causing ABI issues at least on mips, zero size arrays or (in C only) zero
> sized (empty) structures can be problematic too.
>
> The following patch adds some coverage for it too.
>
> Tested on x86_64-linux with
> make check-gcc check-g++ RUNTESTFLAGS='ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ --target_board=unix\{-m32,-m64\} compat.exp=pr102024*'
> make check-gcc check-g++ RUNTESTFLAGS='ALT_CC_UNDER_TEST=clang ALT_CXX_UNDER_TEST=clang++ --target_board=unix\{-m32,-m64\} compat.exp=pr102024*'
> with gcc/g++ 10.3 and clang 11. Everything but (expectedly)
> FAIL: gcc.dg/compat/pr102024 c_compat_x_tst.o-c_compat_y_alt.o execute
> FAIL: gcc.dg/compat/pr102024 c_compat_x_alt.o-c_compat_y_tst.o execute
> for -m64 ALT_CC_UNDER_TEST=gcc passes.
>
> Ok for trunk?
>
> 2022-03-31 Jakub Jelinek <jakub@redhat.com>
>
> PR target/102024
> * gcc.dg/compat/pr102024_test.h: Add further tests with zero sized
> structures and arrays.
> * g++.dg/compat/pr102024_test.h: Add further tests with zero sized
> arrays.
I'd generally lean towards a new test rather than extending an existing
one, but that's a nit that primarily helps automated testing find
regressions, so I wouldn't consider it a requirement to break out the
new cases.
OK as-is or with the new cases in their own testfile.
jeff
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-04-06 15:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-31 15:54 [PATCH] testsuite: Add further zero size elt passing tests [PR102024] Jakub Jelinek
2022-04-01 9:44 ` Richard Biener
2022-04-06 15:24 ` Jeff Law
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).