diff gcc/testsuite/g++.dg/cpp0x/noexcept46.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/g++.dg/cpp0x/noexcept46.C	Thu Feb 13 11:34:05 2020 +0900
@@ -0,0 +1,28 @@
+// PR c++/86476 - noexcept-specifier is a complete-class context
+// { dg-do compile { target c++11 } }
+
+void f() noexcept(false);
+void g() noexcept(true);
+void h() noexcept;
+
+struct B {
+  friend void f() noexcept(false);
+  friend void g() noexcept(false); // { dg-error "different exception specifier" }
+  friend void h() noexcept(false); // { dg-error "different exception specifier" }
+};
+
+struct C {
+  friend void f() noexcept(true); // { dg-error "different exception specifier" }
+  friend void g() noexcept(true); // { dg-error "different exception specifier" }
+  friend void h() noexcept(true); // { dg-error "different exception specifier" }
+};
+
+void o() noexcept(false);
+void p() noexcept(true);
+void q() noexcept;
+
+struct D {
+  friend void o() noexcept(true); // { dg-error "different exception specifier" }
+  friend void p() noexcept(true);
+  friend void q() noexcept(true);
+};