aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/lib
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@baylibre.com>2025-01-28 14:57:21 +0100
committerThomas Schwinge <tschwinge@baylibre.com>2025-02-08 12:37:07 +0100
commit6312165650091a4df34668d8e2aaa0bbc4008a66 (patch)
tree7b68abd6775445a3b48d1abab4b7ad11cacc8f32 /gcc/testsuite/lib
parent7809aa1128250c9e90fde33a4fc0c88a733f8e1a (diff)
downloadgcc-6312165650091a4df34668d8e2aaa0bbc4008a66.zip
gcc-6312165650091a4df34668d8e2aaa0bbc4008a66.tar.gz
gcc-6312165650091a4df34668d8e2aaa0bbc4008a66.tar.bz2
GCN, nvptx: 'sorry, unimplemented: exception handling not supported'
For GCN, this avoids ICEs further down the compilation pipeline. For nvptx, there's effectively no change: in presence of exception handling constructs, instead of 'sorry, unimplemented: target cannot support nonlocal goto', we now emit 'sorry, unimplemented: exception handling not supported'. Additionally, turn test cases into UNSUPPORTED if running into 'sorry, unimplemented: exception handling not supported'. gcc/ * config/gcn/gcn.md (exception_receiver): 'define_expand'. * config/nvptx/nvptx.md (exception_receiver): Likewise. gcc/testsuite/ * lib/gcc-dg.exp (gcc-dg-prune): Turn 'sorry, unimplemented: exception handling not supported' into UNSUPPORTED. * gcc.dg/pr104464.c: Remove GCN XFAIL. libstdc++-v3/ * testsuite/lib/prune.exp (libstdc++-dg-prune): Turn 'sorry, unimplemented: exception handling not supported' into UNSUPPORTED.
Diffstat (limited to 'gcc/testsuite/lib')
-rw-r--r--gcc/testsuite/lib/gcc-dg.exp7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp
index 07a996a..70be7a8 100644
--- a/gcc/testsuite/lib/gcc-dg.exp
+++ b/gcc/testsuite/lib/gcc-dg.exp
@@ -434,6 +434,13 @@ proc gcc-dg-prune { system text } {
return "::unsupported::large return values"
}
+ # If exception handling is not supported, expectant tests are UNSUPPORTED.
+ if { ![check_effective_target_exceptions] } {
+ if [regexp "(^|\n)\[^\n\]*: sorry, unimplemented: exception handling not supported" $text] {
+ return "::unsupported::exception handling not supported"
+ }
+ }
+
# If exception handling is disabled, expectant tests are UNSUPPORTED.
if { ![check_effective_target_exceptions_enabled] } {
if [regexp "(^|\n)\[^\n\]*: error: exception handling disabled" $text] {