diff options
author | Dimitar Dimitrov <dimitar@dinux.eu> | 2025-01-18 17:10:43 +0200 |
---|---|---|
committer | Dimitar Dimitrov <dimitar@dinux.eu> | 2025-04-25 23:07:10 +0300 |
commit | 07b29ef00b7bbe985da62159306361faec2c3a20 (patch) | |
tree | 5d49bbda56e76281dd31675d9cd4ad482785e234 /gcc/fortran | |
parent | c0136555e9974383a0a2256987d24bfbae2f2c10 (diff) | |
download | gcc-07b29ef00b7bbe985da62159306361faec2c3a20.zip gcc-07b29ef00b7bbe985da62159306361faec2c3a20.tar.gz gcc-07b29ef00b7bbe985da62159306361faec2c3a20.tar.bz2 |
testsuite: Add require target for SJLJ exception implementation
Testcases for musttail call optimization fail on pru-unknown-elf:
FAIL: c-c++-common/musttail14.c -std=gnu++17 (test for excess errors)
Excess errors:
.../gcc/gcc/testsuite/c-c++-common/musttail14.c:37:14: error: cannot tail-call: caller uses sjlj exceptions
Silence these errors by disabling the tests if target uses SJLJ for
implementing exceptions. Use a new effective target check for this.
Ensured that test results with and without this patch for
x86_64-pc-linux-gnu are the same.
gcc/ChangeLog:
* doc/sourcebuild.texi: Document effective target
using_sjlj_exceptions.
gcc/testsuite/ChangeLog:
* c-c++-common/musttail14.c: Disable test if effective target
using_sjlj_exceptions.
* c-c++-common/musttail22.c: Ditto.
* g++.dg/musttail8.C: Ditto.
* g++.dg/musttail9.C: Ditto.
* g++.dg/opt/musttail3.C: Ditto.
* g++.dg/opt/musttail4.C: Ditto.
* g++.dg/opt/musttail5.C: Ditto.
* g++.dg/opt/pr119613.C: Ditto.
* lib/target-supports.exp
(check_effective_target_using_sjlj_exceptions): New check.
Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions