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.
Showing
- gcc/testsuite/c-c++-common/musttail1.c 1 addition, 1 deletiongcc/testsuite/c-c++-common/musttail1.c
- gcc/testsuite/c-c++-common/musttail12.c 1 addition, 1 deletiongcc/testsuite/c-c++-common/musttail12.c
- gcc/testsuite/c-c++-common/musttail2.c 1 addition, 1 deletiongcc/testsuite/c-c++-common/musttail2.c
- gcc/testsuite/c-c++-common/musttail3.c 1 addition, 1 deletiongcc/testsuite/c-c++-common/musttail3.c
- gcc/testsuite/c-c++-common/musttail4.c 1 addition, 1 deletiongcc/testsuite/c-c++-common/musttail4.c
- gcc/testsuite/c-c++-common/musttail7.c 1 addition, 1 deletiongcc/testsuite/c-c++-common/musttail7.c
- gcc/testsuite/c-c++-common/musttail8.c 1 addition, 1 deletiongcc/testsuite/c-c++-common/musttail8.c
- gcc/testsuite/g++.dg/musttail10.C 3 additions, 3 deletionsgcc/testsuite/g++.dg/musttail10.C
- gcc/testsuite/g++.dg/musttail11.C 1 addition, 1 deletiongcc/testsuite/g++.dg/musttail11.C
- gcc/testsuite/g++.dg/musttail6.C 2 additions, 2 deletionsgcc/testsuite/g++.dg/musttail6.C
- gcc/testsuite/g++.dg/musttail9.C 1 addition, 1 deletiongcc/testsuite/g++.dg/musttail9.C
- gcc/testsuite/lib/target-supports.exp 24 additions, 6 deletionsgcc/testsuite/lib/target-supports.exp
Loading
Please register or sign in to comment