]> git.ipfire.org Git - thirdparty/gcc.git/commit
PR116080: Fix test suite checks for musttail
authorAndi Kleen <ak@gcc.gnu.org>
Mon, 29 Jul 2024 17:58:29 +0000 (10:58 -0700)
committerAndi Kleen <ak@gcc.gnu.org>
Tue, 3 Sep 2024 19:59:27 +0000 (12:59 -0700)
commit1fad396dd467326251572811b703e788e62a2588
tree70aafed338b068a0f65216e8a775caa03d89a4f9
parent07e74798b93c256bea3a91895d3517223a58da61
PR116080: Fix test suite checks for musttail

This is a new attempt to fix PR116080. The previous try was reverted
because it just broke a bunch of tests, hiding the problem.

- musttail behaves differently than tailcall at -O0. Some of the test
run at -O0, so add separate effective target tests for musttail.
- New effective target tests need to use unique file names
to make dejagnu caching work
- Change the tests to use new targets
- Add a external_musttail test to check for target's ability
to do tail calls between translation units. This covers some powerpc
ABIs.

gcc/testsuite/ChangeLog:

PR testsuite/116080
* c-c++-common/musttail1.c: Use musttail target.
* c-c++-common/musttail12.c: Use struct_musttail target.
* c-c++-common/musttail2.c: Use musttail target.
* c-c++-common/musttail3.c: Likewise.
* c-c++-common/musttail4.c: Likewise.
* c-c++-common/musttail7.c: Likewise.
* c-c++-common/musttail8.c: Likewise.
* g++.dg/musttail10.C: Likewise. Replace powerpc checks with
external_musttail.
* g++.dg/musttail11.C: Use musttail target.
* g++.dg/musttail6.C: Use musttail target. Replace powerpc
checks with external_musttail.
* g++.dg/musttail9.C: Use musttail target.
* lib/target-supports.exp: Add musttail, struct_musttail,
external_musttail targets. Remove optimization for musttail.
Use unique file names for musttail.
12 files changed:
gcc/testsuite/c-c++-common/musttail1.c
gcc/testsuite/c-c++-common/musttail12.c
gcc/testsuite/c-c++-common/musttail2.c
gcc/testsuite/c-c++-common/musttail3.c
gcc/testsuite/c-c++-common/musttail4.c
gcc/testsuite/c-c++-common/musttail7.c
gcc/testsuite/c-c++-common/musttail8.c
gcc/testsuite/g++.dg/musttail10.C
gcc/testsuite/g++.dg/musttail11.C
gcc/testsuite/g++.dg/musttail6.C
gcc/testsuite/g++.dg/musttail9.C
gcc/testsuite/lib/target-supports.exp