aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2023-06-07 14:14:44 +0200
committerThomas Schwinge <thomas@codesourcery.com>2023-11-03 11:59:15 +0100
commitfe65f4a2a39b389a4240dc59d856b082c0b5ad96 (patch)
tree8d8d1cc3f6982c4e57adea421c31fca78d63b1ce
parent2266f7cbc78dfcf7c0739466644e0a6b9966553c (diff)
downloadgcc-fe65f4a2a39b389a4240dc59d856b082c0b5ad96.zip
gcc-fe65f4a2a39b389a4240dc59d856b082c0b5ad96.tar.gz
gcc-fe65f4a2a39b389a4240dc59d856b082c0b5ad96.tar.bz2
Skip a number of C++ test cases for '-fno-exceptions' testing
Running 'make check' with: 'RUNTESTFLAGS=--target_board=unix/-fno-exceptions', 'error: exception handling disabled' is triggered for C++ 'throw' etc. usage, and per 'gcc/testsuite/lib/gcc-dg.exp:gcc-dg-prune': # If exceptions are disabled, mark tests expecting exceptions to be enabled # as unsupported. if { ![check_effective_target_exceptions_enabled] } { if [regexp "(^|\n)\[^\n\]*: error: exception handling disabled" $text] { return "::unsupported::exception handling disabled" } ..., which generally means: -PASS: [...] (test for excess errors) +UNSUPPORTED: [...]: exception handling disabled However, if there are additional 'dg-error' etc. directives, these may regress PASS -> FAIL (or similar) -- if their associated diagnostics are precluded by 'error: exception handling disabled'. For example: PASS: g++.dg/cpp2a/explicit1.C (test for errors, line 43) PASS: g++.dg/cpp2a/explicit1.C (test for errors, line 47) [-PASS:-]{+FAIL:+} g++.dg/cpp2a/explicit1.C (test for errors, line 50) [-PASS:-]{+FAIL:+} g++.dg/cpp2a/explicit1.C (test for errors, line 51) PASS: g++.dg/cpp2a/explicit1.C (test for errors, line 52) PASS: g++.dg/cpp2a/explicit1.C (test for errors, line 53) PASS: g++.dg/cpp2a/explicit1.C (test for errors, line 59) [-PASS:-]{+UNSUPPORTED:+} g++.dg/cpp2a/explicit1.C [-(test for excess errors)-]{+: exception handling disabled+} Specify 'dg-require-effective-target exceptions_enabled' for those test cases. gcc/testsuite/ * g++.dg/cpp0x/catch1.C: Specify 'dg-require-effective-target exceptions_enabled'. * g++.dg/cpp0x/constexpr-throw.C: Likewise. * g++.dg/cpp1y/constexpr-89785-2.C: Likewise. * g++.dg/cpp1y/constexpr-throw.C: Likewise. * g++.dg/cpp1y/pr79393-3.C: Likewise. * g++.dg/cpp2a/consteval-memfn1.C: Likewise. * g++.dg/cpp2a/consteval11.C: Likewise. * g++.dg/cpp2a/consteval34.C: Likewise. * g++.dg/cpp2a/consteval9.C: Likewise. * g++.dg/cpp2a/explicit1.C: Likewise. * g++.dg/cpp2a/explicit2.C: Likewise. * g++.dg/cpp2a/explicit5.C: Likewise. * g++.dg/eh/builtin10.C: Likewise. * g++.dg/eh/builtin11.C: Likewise. * g++.dg/eh/builtin6.C: Likewise. * g++.dg/eh/builtin7.C: Likewise. * g++.dg/eh/builtin9.C: Likewise. * g++.dg/eh/dtor4.C: Likewise. * g++.dg/eh/pr42859.C: Likewise. * g++.dg/ext/stmtexpr25.C: Likewise. * g++.dg/ext/vla4.C: Likewise. * g++.dg/init/placement4.C: Likewise. * g++.dg/other/error32.C: Likewise. * g++.dg/parse/crash55.C: Likewise. * g++.dg/parse/pr31952-2.C: Likewise. * g++.dg/parse/pr31952-3.C: Likewise. * g++.dg/tm/noexcept-7.C: Likewise. * g++.dg/torture/pr43257.C: Likewise. * g++.dg/torture/pr56694.C: Likewise. * g++.dg/torture/pr81659.C: Likewise. * g++.dg/warn/Wcatch-value-1.C: Likewise. * g++.dg/warn/Wcatch-value-2.C: Likewise. * g++.dg/warn/Wcatch-value-3.C: Likewise. * g++.dg/warn/Wcatch-value-3b.C: Likewise. * g++.dg/warn/Wexceptions1.C: Likewise. * g++.dg/warn/Wexceptions3.C: Likewise. * g++.dg/warn/Winfinite-recursion-3.C: Likewise. * g++.dg/warn/Wreturn-6.C: Likewise. * g++.dg/warn/Wstringop-truncation-2.C: Likewise. * g++.dg/warn/Wterminate1.C: Likewise. * g++.old-deja/g++.eh/catch1.C: Likewise. * g++.old-deja/g++.eh/catch10.C: Likewise. * g++.old-deja/g++.eh/cond1.C: Likewise. * g++.old-deja/g++.eh/ctor1.C: Likewise. * g++.old-deja/g++.eh/throw2.C: Likewise. * g++.old-deja/g++.other/cond5.C: Likewise.
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/catch1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-throw.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/constexpr-89785-2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/constexpr-throw.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/pr79393-3.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/consteval-memfn1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/consteval11.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/consteval34.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/consteval9.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/explicit1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/explicit2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/explicit5.C1
-rw-r--r--gcc/testsuite/g++.dg/eh/builtin10.C1
-rw-r--r--gcc/testsuite/g++.dg/eh/builtin11.C1
-rw-r--r--gcc/testsuite/g++.dg/eh/builtin6.C1
-rw-r--r--gcc/testsuite/g++.dg/eh/builtin7.C1
-rw-r--r--gcc/testsuite/g++.dg/eh/builtin9.C1
-rw-r--r--gcc/testsuite/g++.dg/eh/dtor4.C2
-rw-r--r--gcc/testsuite/g++.dg/eh/pr42859.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/stmtexpr25.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/vla4.C1
-rw-r--r--gcc/testsuite/g++.dg/init/placement4.C2
-rw-r--r--gcc/testsuite/g++.dg/other/error32.C1
-rw-r--r--gcc/testsuite/g++.dg/parse/crash55.C2
-rw-r--r--gcc/testsuite/g++.dg/parse/pr31952-2.C2
-rw-r--r--gcc/testsuite/g++.dg/parse/pr31952-3.C2
-rw-r--r--gcc/testsuite/g++.dg/tm/noexcept-7.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr43257.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr56694.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr81659.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wcatch-value-1.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wcatch-value-2.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wcatch-value-3.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wcatch-value-3b.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wexceptions1.C2
-rw-r--r--gcc/testsuite/g++.dg/warn/Wexceptions3.C2
-rw-r--r--gcc/testsuite/g++.dg/warn/Winfinite-recursion-3.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wreturn-6.C2
-rw-r--r--gcc/testsuite/g++.dg/warn/Wstringop-truncation-2.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wterminate1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/catch1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/catch10.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/cond1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/ctor1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/throw2.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/cond5.C1
46 files changed, 55 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/catch1.C b/gcc/testsuite/g++.dg/cpp0x/catch1.C
index 81778ea..733bd56 100644
--- a/gcc/testsuite/g++.dg/cpp0x/catch1.C
+++ b/gcc/testsuite/g++.dg/cpp0x/catch1.C
@@ -1,5 +1,6 @@
// PR c++/53371
// { dg-do compile { target c++11 } }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
struct Abs
{
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-throw.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-throw.C
index 5666629..9c49fa4 100644
--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-throw.C
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-throw.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
constexpr int may_throw(bool decide) {
return decide ? 42 : throw -1; // { dg-error "throw" }
diff --git a/gcc/testsuite/g++.dg/cpp1y/constexpr-89785-2.C b/gcc/testsuite/g++.dg/cpp1y/constexpr-89785-2.C
index 7afd9d2..47c0d4d 100644
--- a/gcc/testsuite/g++.dg/cpp1y/constexpr-89785-2.C
+++ b/gcc/testsuite/g++.dg/cpp1y/constexpr-89785-2.C
@@ -1,5 +1,6 @@
// PR c++/89785
// { dg-do compile { target c++14 } }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
constexpr int
foo (int x)
diff --git a/gcc/testsuite/g++.dg/cpp1y/constexpr-throw.C b/gcc/testsuite/g++.dg/cpp1y/constexpr-throw.C
index 3592874..b5fa6ca 100644
--- a/gcc/testsuite/g++.dg/cpp1y/constexpr-throw.C
+++ b/gcc/testsuite/g++.dg/cpp1y/constexpr-throw.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++14 } }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
constexpr void f1() {
if (false)
diff --git a/gcc/testsuite/g++.dg/cpp1y/pr79393-3.C b/gcc/testsuite/g++.dg/cpp1y/pr79393-3.C
index 3c73cbb..6d9b77a 100644
--- a/gcc/testsuite/g++.dg/cpp1y/pr79393-3.C
+++ b/gcc/testsuite/g++.dg/cpp1y/pr79393-3.C
@@ -1,5 +1,6 @@
// pr c++/79393
// { dg-do compile { target c++14 } }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
struct A
{
diff --git a/gcc/testsuite/g++.dg/cpp2a/consteval-memfn1.C b/gcc/testsuite/g++.dg/cpp2a/consteval-memfn1.C
index 63f4f1d..46eed13 100644
--- a/gcc/testsuite/g++.dg/cpp2a/consteval-memfn1.C
+++ b/gcc/testsuite/g++.dg/cpp2a/consteval-memfn1.C
@@ -1,5 +1,6 @@
// PR c++/99895
// { dg-do compile { target c++20 } }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
struct fixed_string {
consteval int size(int n) const {
diff --git a/gcc/testsuite/g++.dg/cpp2a/consteval11.C b/gcc/testsuite/g++.dg/cpp2a/consteval11.C
index 091127e..05cecea 100644
--- a/gcc/testsuite/g++.dg/cpp2a/consteval11.C
+++ b/gcc/testsuite/g++.dg/cpp2a/consteval11.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-std=c++2a" }
consteval int bar (int i) { if (i != 1) throw 1; return 0; } // { dg-error "is not a constant expression" }
diff --git a/gcc/testsuite/g++.dg/cpp2a/consteval34.C b/gcc/testsuite/g++.dg/cpp2a/consteval34.C
index d5e2d1d..068827b 100644
--- a/gcc/testsuite/g++.dg/cpp2a/consteval34.C
+++ b/gcc/testsuite/g++.dg/cpp2a/consteval34.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
consteval int bar (int i) { if (i != 1) throw 1; return 0; } // { dg-error "is not a constant expression" }
diff --git a/gcc/testsuite/g++.dg/cpp2a/consteval9.C b/gcc/testsuite/g++.dg/cpp2a/consteval9.C
index aa75ba3..051a3d4 100644
--- a/gcc/testsuite/g++.dg/cpp2a/consteval9.C
+++ b/gcc/testsuite/g++.dg/cpp2a/consteval9.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-std=c++2a" }
consteval int bar (int i) { if (i != 1) throw 1; return 0; } // { dg-error "is not a constant expression" }
diff --git a/gcc/testsuite/g++.dg/cpp2a/explicit1.C b/gcc/testsuite/g++.dg/cpp2a/explicit1.C
index b39f90f..290f16c 100644
--- a/gcc/testsuite/g++.dg/cpp2a/explicit1.C
+++ b/gcc/testsuite/g++.dg/cpp2a/explicit1.C
@@ -1,5 +1,6 @@
// P0892R2
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-std=c++2a" }
constexpr int fn0 () { return 0; }
diff --git a/gcc/testsuite/g++.dg/cpp2a/explicit2.C b/gcc/testsuite/g++.dg/cpp2a/explicit2.C
index 7d1748c..9565143 100644
--- a/gcc/testsuite/g++.dg/cpp2a/explicit2.C
+++ b/gcc/testsuite/g++.dg/cpp2a/explicit2.C
@@ -1,5 +1,6 @@
// P0892R2
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-std=c++2a" }
int foo() { return 42; }
diff --git a/gcc/testsuite/g++.dg/cpp2a/explicit5.C b/gcc/testsuite/g++.dg/cpp2a/explicit5.C
index 70a106f..00d3372 100644
--- a/gcc/testsuite/g++.dg/cpp2a/explicit5.C
+++ b/gcc/testsuite/g++.dg/cpp2a/explicit5.C
@@ -1,5 +1,6 @@
// P0892R2
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-std=c++2a" }
constexpr int fn0 () { return 0; }
diff --git a/gcc/testsuite/g++.dg/eh/builtin10.C b/gcc/testsuite/g++.dg/eh/builtin10.C
index 6c34f1f..6148e65e 100644
--- a/gcc/testsuite/g++.dg/eh/builtin10.C
+++ b/gcc/testsuite/g++.dg/eh/builtin10.C
@@ -1,5 +1,6 @@
// PR c++/88482
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
extern "C" void __cxa_throw (void *, void *, void (*) (void *));
extern "C" float __cxa_get_exception_ptr (void *) throw (); // { dg-message "previous declaration" }
diff --git a/gcc/testsuite/g++.dg/eh/builtin11.C b/gcc/testsuite/g++.dg/eh/builtin11.C
index abc8c1a..10cf085 100644
--- a/gcc/testsuite/g++.dg/eh/builtin11.C
+++ b/gcc/testsuite/g++.dg/eh/builtin11.C
@@ -1,5 +1,6 @@
// PR c++/88482
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
extern "C" void __cxa_throw (float, void *, void (*) (void *)); // { dg-message "previous declaration" }
extern "C" void *__cxa_get_exception_ptr (void *) throw ();
diff --git a/gcc/testsuite/g++.dg/eh/builtin6.C b/gcc/testsuite/g++.dg/eh/builtin6.C
index c05abdc..b3b52065 100644
--- a/gcc/testsuite/g++.dg/eh/builtin6.C
+++ b/gcc/testsuite/g++.dg/eh/builtin6.C
@@ -1,5 +1,6 @@
// PR c++/88482
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
float __cxa_throw; // { dg-message "previous declaration" }
extern "C" void *__cxa_get_exception_ptr (void *);
diff --git a/gcc/testsuite/g++.dg/eh/builtin7.C b/gcc/testsuite/g++.dg/eh/builtin7.C
index 0ef279d..118e145 100644
--- a/gcc/testsuite/g++.dg/eh/builtin7.C
+++ b/gcc/testsuite/g++.dg/eh/builtin7.C
@@ -1,5 +1,6 @@
// PR c++/88482
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
extern "C" void __cxa_throw (void *, void *, void (*) (void *));
int __cxa_get_exception_ptr; // { dg-message "previous declaration" }
diff --git a/gcc/testsuite/g++.dg/eh/builtin9.C b/gcc/testsuite/g++.dg/eh/builtin9.C
index 591a622..a24d248 100644
--- a/gcc/testsuite/g++.dg/eh/builtin9.C
+++ b/gcc/testsuite/g++.dg/eh/builtin9.C
@@ -1,5 +1,6 @@
// PR c++/88482
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
extern "C" int __cxa_throw (void *, void *, void (*) (void *)); // { dg-message "previous declaration" }
extern "C" void *__cxa_get_exception_ptr (void *) throw ();
diff --git a/gcc/testsuite/g++.dg/eh/dtor4.C b/gcc/testsuite/g++.dg/eh/dtor4.C
index 6c0e804..daf6d92 100644
--- a/gcc/testsuite/g++.dg/eh/dtor4.C
+++ b/gcc/testsuite/g++.dg/eh/dtor4.C
@@ -1,5 +1,7 @@
// PR c++/109172
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
+
class Demo
{
~Demo();
diff --git a/gcc/testsuite/g++.dg/eh/pr42859.C b/gcc/testsuite/g++.dg/eh/pr42859.C
index 0de9140..5533869 100644
--- a/gcc/testsuite/g++.dg/eh/pr42859.C
+++ b/gcc/testsuite/g++.dg/eh/pr42859.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
void start (void);
void
diff --git a/gcc/testsuite/g++.dg/ext/stmtexpr25.C b/gcc/testsuite/g++.dg/ext/stmtexpr25.C
index 79c40fc..7326571 100644
--- a/gcc/testsuite/g++.dg/ext/stmtexpr25.C
+++ b/gcc/testsuite/g++.dg/ext/stmtexpr25.C
@@ -1,6 +1,7 @@
// PR c++/81073
// { dg-options "" }
// { dg-do compile { target c++11 } }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
struct test { const int *addr; };
diff --git a/gcc/testsuite/g++.dg/ext/vla4.C b/gcc/testsuite/g++.dg/ext/vla4.C
index e96f273..d4686d4 100644
--- a/gcc/testsuite/g++.dg/ext/vla4.C
+++ b/gcc/testsuite/g++.dg/ext/vla4.C
@@ -1,4 +1,5 @@
// PR c++/29318
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "" }
#include <typeinfo>
diff --git a/gcc/testsuite/g++.dg/init/placement4.C b/gcc/testsuite/g++.dg/init/placement4.C
index 3cfe27d..6e755f9 100644
--- a/gcc/testsuite/g++.dg/init/placement4.C
+++ b/gcc/testsuite/g++.dg/init/placement4.C
@@ -1,5 +1,7 @@
// PR c++/34158
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
+
typedef __SIZE_TYPE__ size_t;
extern "C" void* malloc (size_t);
extern "C" void free (void *);
diff --git a/gcc/testsuite/g++.dg/other/error32.C b/gcc/testsuite/g++.dg/other/error32.C
index 56d3b7a..4af7f77 100644
--- a/gcc/testsuite/g++.dg/other/error32.C
+++ b/gcc/testsuite/g++.dg/other/error32.C
@@ -1,4 +1,5 @@
// PR c++/33492
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "" }
void foo()
diff --git a/gcc/testsuite/g++.dg/parse/crash55.C b/gcc/testsuite/g++.dg/parse/crash55.C
index 2e88c47..c7b7de0 100644
--- a/gcc/testsuite/g++.dg/parse/crash55.C
+++ b/gcc/testsuite/g++.dg/parse/crash55.C
@@ -1,5 +1,7 @@
// PR c++/42038
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
+
extern int __cxa_begin_catch; // { dg-message "previous declaration" }
void f(void)
diff --git a/gcc/testsuite/g++.dg/parse/pr31952-2.C b/gcc/testsuite/g++.dg/parse/pr31952-2.C
index f09bcab..bf666b7 100644
--- a/gcc/testsuite/g++.dg/parse/pr31952-2.C
+++ b/gcc/testsuite/g++.dg/parse/pr31952-2.C
@@ -1,5 +1,7 @@
// PR c++/31952
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
+
void
f0()
{
diff --git a/gcc/testsuite/g++.dg/parse/pr31952-3.C b/gcc/testsuite/g++.dg/parse/pr31952-3.C
index b589097..d57c926 100644
--- a/gcc/testsuite/g++.dg/parse/pr31952-3.C
+++ b/gcc/testsuite/g++.dg/parse/pr31952-3.C
@@ -1,5 +1,7 @@
// PR c++/31952
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
+
int
f0 (int bar) // { dg-message "previously" }
try
diff --git a/gcc/testsuite/g++.dg/tm/noexcept-7.C b/gcc/testsuite/g++.dg/tm/noexcept-7.C
index bfa675c..f21eaf5 100644
--- a/gcc/testsuite/g++.dg/tm/noexcept-7.C
+++ b/gcc/testsuite/g++.dg/tm/noexcept-7.C
@@ -1,4 +1,5 @@
// FIXME the TS says atomic_noexcept calls abort, not terminate.
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-fgnu-tm" }
void f()
diff --git a/gcc/testsuite/g++.dg/torture/pr43257.C b/gcc/testsuite/g++.dg/torture/pr43257.C
index fab5f09..b58cf09 100644
--- a/gcc/testsuite/g++.dg/torture/pr43257.C
+++ b/gcc/testsuite/g++.dg/torture/pr43257.C
@@ -1,4 +1,5 @@
/* { dg-do assemble } */
+/* Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'. */
class A {};
class B {};
diff --git a/gcc/testsuite/g++.dg/torture/pr56694.C b/gcc/testsuite/g++.dg/torture/pr56694.C
index 774bac4..dc4dd90 100644
--- a/gcc/testsuite/g++.dg/torture/pr56694.C
+++ b/gcc/testsuite/g++.dg/torture/pr56694.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-fopenmp" }
// { dg-require-effective-target fopenmp }
diff --git a/gcc/testsuite/g++.dg/torture/pr81659.C b/gcc/testsuite/g++.dg/torture/pr81659.C
index 074099b..cfaa56f 100644
--- a/gcc/testsuite/g++.dg/torture/pr81659.C
+++ b/gcc/testsuite/g++.dg/torture/pr81659.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
void
a (int b)
diff --git a/gcc/testsuite/g++.dg/warn/Wcatch-value-1.C b/gcc/testsuite/g++.dg/warn/Wcatch-value-1.C
index a84b337..835b2c7 100644
--- a/gcc/testsuite/g++.dg/warn/Wcatch-value-1.C
+++ b/gcc/testsuite/g++.dg/warn/Wcatch-value-1.C
@@ -1,3 +1,4 @@
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-Wcatch-value=1" }
struct A { virtual ~A() {} };
diff --git a/gcc/testsuite/g++.dg/warn/Wcatch-value-2.C b/gcc/testsuite/g++.dg/warn/Wcatch-value-2.C
index e20719c..9c6e93c 100644
--- a/gcc/testsuite/g++.dg/warn/Wcatch-value-2.C
+++ b/gcc/testsuite/g++.dg/warn/Wcatch-value-2.C
@@ -1,3 +1,4 @@
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-Wcatch-value=2" }
struct A { virtual ~A() {} };
diff --git a/gcc/testsuite/g++.dg/warn/Wcatch-value-3.C b/gcc/testsuite/g++.dg/warn/Wcatch-value-3.C
index c91a3c0..6288102 100644
--- a/gcc/testsuite/g++.dg/warn/Wcatch-value-3.C
+++ b/gcc/testsuite/g++.dg/warn/Wcatch-value-3.C
@@ -1,3 +1,4 @@
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-Wcatch-value=3" }
struct A { virtual ~A() {} };
diff --git a/gcc/testsuite/g++.dg/warn/Wcatch-value-3b.C b/gcc/testsuite/g++.dg/warn/Wcatch-value-3b.C
index cb9af4a..2d37f89 100644
--- a/gcc/testsuite/g++.dg/warn/Wcatch-value-3b.C
+++ b/gcc/testsuite/g++.dg/warn/Wcatch-value-3b.C
@@ -1,3 +1,4 @@
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-Wcatch-value=3" }
struct A { virtual ~A() {} };
diff --git a/gcc/testsuite/g++.dg/warn/Wexceptions1.C b/gcc/testsuite/g++.dg/warn/Wexceptions1.C
index af140fd..557f01b 100644
--- a/gcc/testsuite/g++.dg/warn/Wexceptions1.C
+++ b/gcc/testsuite/g++.dg/warn/Wexceptions1.C
@@ -1,5 +1,7 @@
// PR c++/97675
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
+
struct Base { };
struct Child : Base { };
int main() {
diff --git a/gcc/testsuite/g++.dg/warn/Wexceptions3.C b/gcc/testsuite/g++.dg/warn/Wexceptions3.C
index 97fda9d..08d40bb 100644
--- a/gcc/testsuite/g++.dg/warn/Wexceptions3.C
+++ b/gcc/testsuite/g++.dg/warn/Wexceptions3.C
@@ -1,5 +1,7 @@
// PR c++/81660
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
+
void bar (int);
void
diff --git a/gcc/testsuite/g++.dg/warn/Winfinite-recursion-3.C b/gcc/testsuite/g++.dg/warn/Winfinite-recursion-3.C
index 166e6d5..ee0be59 100644
--- a/gcc/testsuite/g++.dg/warn/Winfinite-recursion-3.C
+++ b/gcc/testsuite/g++.dg/warn/Winfinite-recursion-3.C
@@ -1,5 +1,6 @@
/* PR middle-end/88232 - Please implement -Winfinite-recursion
{ dg-do compile }
+ Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
{ dg-options "-Wall -Winfinite-recursion" } */
typedef __SIZE_TYPE__ size_t;
diff --git a/gcc/testsuite/g++.dg/warn/Wreturn-6.C b/gcc/testsuite/g++.dg/warn/Wreturn-6.C
index 85fef0e..7372e88 100644
--- a/gcc/testsuite/g++.dg/warn/Wreturn-6.C
+++ b/gcc/testsuite/g++.dg/warn/Wreturn-6.C
@@ -1,5 +1,7 @@
// PR c++/107310
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
+
struct f
{
~f();
diff --git a/gcc/testsuite/g++.dg/warn/Wstringop-truncation-2.C b/gcc/testsuite/g++.dg/warn/Wstringop-truncation-2.C
index ebbd443..39827a2 100644
--- a/gcc/testsuite/g++.dg/warn/Wstringop-truncation-2.C
+++ b/gcc/testsuite/g++.dg/warn/Wstringop-truncation-2.C
@@ -3,6 +3,7 @@
// Compile with -g to verify the warning deals properly with debug
// statements.
// { dg-do compile }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-O2 -Wstringop-truncation -g" }
extern "C" char* strncpy (char*, const char*, __SIZE_TYPE__);
diff --git a/gcc/testsuite/g++.dg/warn/Wterminate1.C b/gcc/testsuite/g++.dg/warn/Wterminate1.C
index affb48d..ec0a67b 100644
--- a/gcc/testsuite/g++.dg/warn/Wterminate1.C
+++ b/gcc/testsuite/g++.dg/warn/Wterminate1.C
@@ -1,6 +1,7 @@
// In C++98 mode this gets a -Wc++11-compat warning, in C++11 mode a
// -Wterminate warning.
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-Wall" }
struct A
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/catch1.C b/gcc/testsuite/g++.old-deja/g++.eh/catch1.C
index 67779d9..a9a26d5 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/catch1.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/catch1.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
//
// Copyright (C) 1999 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 6 Jun 1999 <nathan@acm.org>
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/catch10.C b/gcc/testsuite/g++.old-deja/g++.eh/catch10.C
index 7cc6096..19dfd87 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/catch10.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/catch10.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// Test that we notice unfortunate handler ordering.
struct A { };
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/cond1.C b/gcc/testsuite/g++.old-deja/g++.eh/cond1.C
index fe6d429..18c024d 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/cond1.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/cond1.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// Copyright (C) 1999, 2000 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 11 Apr 1999 <nathan@acm.org>
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/ctor1.C b/gcc/testsuite/g++.old-deja/g++.eh/ctor1.C
index cc39ac3..1a14f71 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/ctor1.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/ctor1.C
@@ -1,4 +1,6 @@
// { dg-do assemble }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
+
struct A
{
A();
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/throw2.C b/gcc/testsuite/g++.old-deja/g++.eh/throw2.C
index 957c200..7302dac 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/throw2.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/throw2.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// Submitted by Sebastian Ritterbusch <uabp@rz.uni-karlsruhe.de>
diff --git a/gcc/testsuite/g++.old-deja/g++.other/cond5.C b/gcc/testsuite/g++.old-deja/g++.other/cond5.C
index 0d2baf9..6e9ac1b 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/cond5.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/cond5.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// Explicit { dg-require-effective-target exceptions_enabled } to avoid verify compiler messages FAILs for '-fno-exceptions'.
// { dg-options "-W -pedantic -ansi" }
// Copyright (C) 1999, 2000 Free Software Foundation, Inc.