In PR119692 "C++ 'typeinfo', 'vtable' vs. OpenACC, OpenMP 'target' offloading":
> --- Comment #8 from Rainer Orth <ro at gcc dot gnu.org> ---
> The last commit made things worse on sparc-sun-solaris2.11: since that one
> (dg-timeout 10) I regularly get
>
> WARNING: libgomp.c++/target-exceptions-bad_cast-1.C (test for excess errors)
> program timed out.
> FAIL: libgomp.c++/target-exceptions-bad_cast-1.C (test for excess errors)
> UNRESOLVED: libgomp.c++/target-exceptions-bad_cast-1.C compilation failed to produce executable
> UNRESOLVED: libgomp.c++/target-exceptions-bad_cast-1.C scan-tree-dump-times optimized "gimple_call <__cxa_bad_cast, " 1
>
> Before that, the test had no issue. Compiling the test on an unloaded system
> usually takes less than 1 sec, but when fully loaded, times can go up.
To keep things simple, let's restrict this temporary (yeah...) workaround to
apply only for effective-target 'offload_device', just like the
'dg-xfail-run-if' itself.
PR target/119692
libgomp/
* testsuite/libgomp.c++/pr119692-1-4.C: '{ dg-timeout 10 { target offload_device } }'.
* testsuite/libgomp.c++/pr119692-1-5.C: Likewise.
* testsuite/libgomp.c++/target-exceptions-bad_cast-1.C: Likewise.
* testsuite/libgomp.c++/target-exceptions-bad_cast-2.C: Likewise.
* testsuite/libgomp.oacc-c++/exceptions-bad_cast-1.C: Likewise.
* testsuite/libgomp.oacc-c++/exceptions-bad_cast-2.C: Likewise.
(cherry picked from commit
aa143261bdf6db4334b3fcad7768b53e231f998e)
{ dg-xfail-run-if PR119692 { offload_device } } */
/* There are configurations where we 'WARNING: program timed out.' while in
'dynamic_cast', see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119692#c6>.
- { dg-timeout 10 } ... to make sure that happens quickly. */
+ { dg-timeout 10 { target offload_device } } ... to make sure that happens quickly. */
/* { dg-additional-options -fdump-tree-gimple } */
#include "pr119692-1-1.C"
{ dg-xfail-run-if PR119692 { offload_device } } */
/* There are configurations where we 'WARNING: program timed out.' while in
'dynamic_cast', see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119692#c6>.
- { dg-timeout 10 } ... to make sure that happens quickly. */
+ { dg-timeout 10 { target offload_device } } ... to make sure that happens quickly. */
/* { dg-additional-options -fdump-tree-gimple } */
#include "pr119692-1-1.C"
{ dg-shouldfail {'std::bad_cast' exception} } */
/* There are configurations where we 'WARNING: program timed out.' while in
'dynamic_cast', see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119692#c6>.
- { dg-timeout 10 } ... to make sure that happens quickly. */
+ { dg-timeout 10 { target offload_device } } ... to make sure that happens quickly. */
{ dg-shouldfail {'MyException' exception} { offload_device } } */
/* There are configurations where we 'WARNING: program timed out.' while in
'dynamic_cast', see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119692#c6>.
- { dg-timeout 10 } ... to make sure that happens quickly. */
+ { dg-timeout 10 { target offload_device } } ... to make sure that happens quickly. */
{ dg-shouldfail {'std::bad_cast' exception} } */
/* There are configurations where we 'WARNING: program timed out.' while in
'dynamic_cast', see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119692#c6>.
- { dg-timeout 10 } ... to make sure that happens quickly. */
+ { dg-timeout 10 { target offload_device } } ... to make sure that happens quickly. */
{ dg-shouldfail {'std::bad_cast' exception} { ! openacc_host_selected } } */
/* There are configurations where we 'WARNING: program timed out.' while in
'dynamic_cast', see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119692#c6>.
- { dg-timeout 10 } ... to make sure that happens quickly. */
+ { dg-timeout 10 { target offload_device } } ... to make sure that happens quickly. */