diff options
author | Jakub Jelinek <jakub@redhat.com> | 2022-03-24 12:25:15 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2022-03-24 12:25:15 +0100 |
commit | 568377743e22c1377d0aaa1ac9113da3ff1b6bd4 (patch) | |
tree | 5d52878ec1eeb045c6528756457b6185847ae74b /libatomic/tas_n.c | |
parent | 8698ff67cdff4364c8adad2921ed532359a155ec (diff) | |
download | gcc-568377743e22c1377d0aaa1ac9113da3ff1b6bd4.zip gcc-568377743e22c1377d0aaa1ac9113da3ff1b6bd4.tar.gz gcc-568377743e22c1377d0aaa1ac9113da3ff1b6bd4.tar.bz2 |
testsuite: Add compat.exp testcase for most common zero width bitfld ABI passing [PR102024]
On Tue, Mar 22, 2022 at 05:51:58PM +0100, Jakub Jelinek via Gcc wrote:
> I guess it would be nice to include the testcases we are talking about,
> like { float x; int : 0; float y; } and { float x; int : 0; } and
> { int : 0; float x; } into compat.exp testsuite so that we see ABI
> differences in compat testing.
Here is a patch that does that. It uses the struct-layout-1* framework,
but isn't generated because we don't want in this case pseudo-random
structure layouts, but particular ones we know cause or could cause problems
on some targets. If other problematic cases are discovered, we can add
further ones.
Tested on x86_64-linux with:
make check-gcc check-g++ RUNTESTFLAGS='ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ compat.exp=pr102*'
and with
make check-gcc check-g++ RUNTESTFLAGS='compat.exp=pr102*'
The former as expected has:
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
fails because on x86_64 we've changed the C ABI but kept the C++ ABI here.
E.g. on rs6000 it should be the g++.dg such tests to fail (all assuming
the alt gcc/g++ is GCC 4.5 through 11).
2022-03-24 Jakub Jelinek <jakub@redhat.com>
PR target/102024
* gcc.dg/compat/pr102024_main.c: New test.
* gcc.dg/compat/pr102024_test.h: New test.
* gcc.dg/compat/pr102024_x.c: New test.
* gcc.dg/compat/pr102024_y.c: New test.
* g++.dg/compat/pr102024_main.C: New test.
* g++.dg/compat/pr102024_test.h: New test.
* g++.dg/compat/pr102024_x.C: New test.
* g++.dg/compat/pr102024_y.C: New test.
Diffstat (limited to 'libatomic/tas_n.c')
0 files changed, 0 insertions, 0 deletions