|
@@ -53,3 +53,16 @@ __declspec(nothrow) void foo4() noexcept(noexcept(foo1()));
|
|
__declspec(nothrow) void foo5() noexcept(noexcept(foo2()));
|
|
__declspec(nothrow) void foo5() noexcept(noexcept(foo2()));
|
|
// expected-warning@+1{{'nothrow' attribute conflicts with exception specification; attribute ignored}}
|
|
// expected-warning@+1{{'nothrow' attribute conflicts with exception specification; attribute ignored}}
|
|
__declspec(nothrow) void foo6() noexcept(noexcept(foo3()));
|
|
__declspec(nothrow) void foo6() noexcept(noexcept(foo3()));
|
|
|
|
+
|
|
|
|
+// FIXME: It would be nice to be able to warn on these, however at the time we
|
|
|
|
+// evaluate the nothrow, these have yet to be parsed, so the data is not yet
|
|
|
|
+// there.
|
|
|
|
+struct S {
|
|
|
|
+ __declspec(nothrow) void f1();
|
|
|
|
+#ifndef CPP17
|
|
|
|
+ __declspec(nothrow) void f2() throw();
|
|
|
|
+ __declspec(nothrow) void f3() throw(int);
|
|
|
|
+#endif
|
|
|
|
+ __declspec(nothrow) void f4() noexcept(true);
|
|
|
|
+ __declspec(nothrow) void f5() noexcept(false);
|
|
|
|
+};
|