From c4ece1d96a105f51d7999b7afe9340d582731f5d Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Fri, 12 Feb 2021 11:30:38 +0000 Subject: [PATCH] libstdc++: XFAIL tests that depends on RTTI The std::emit_on_flush manipulator depends on dynamic_cast, so fails without RTTI. The std::async code can't catch a forced_unwind exception when RTTI is disabled, so it can't rethrow it either, and the test aborts. libstdc++-v3/ChangeLog: * testsuite/27_io/basic_ostream/emit/1.cc: Expect test to fail if -fno-rtti is used. * testsuite/30_threads/async/forced_unwind.cc: Expect test to abort if -fno-rtti is used. --- libstdc++-v3/testsuite/27_io/basic_ostream/emit/1.cc | 1 + libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc | 1 + 2 files changed, 2 insertions(+) diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/emit/1.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/emit/1.cc index d692c53b392..ac813942a47 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/emit/1.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/emit/1.cc @@ -19,6 +19,7 @@ // { dg-additional-options "-pthread" { target pthread } } // { dg-do run { target c++2a } } // { dg-require-effective-target cxx11-abi } +// { dg-xfail-run-if "cannot catch forced_unwind" { *-*-* } { "-fno-rtti" } } #include #include diff --git a/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc b/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc index ad7c8ff0232..2cc477850ce 100644 --- a/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc +++ b/libstdc++-v3/testsuite/30_threads/async/forced_unwind.cc @@ -3,6 +3,7 @@ // { dg-require-effective-target c++11 } // { dg-require-effective-target pthread } // { dg-require-gthreads "" } +// { dg-xfail-run-if "cannot catch forced_unwind" { *-*-* } { "-fno-rtti" } } // Copyright (C) 2014-2021 Free Software Foundation, Inc. // -- 2.30.2