| // RUN: %clang_cc1 -std=c++1z -fexceptions -fcxx-exceptions -fsyntax-only -verify %s | |
| // In C++1z, we can put an exception-specification on any function declarator; the | |
| // corresponding paragraph from C++14 and before was deleted. | |
| // expected-no-diagnostics | |
| void f() noexcept; | |
| void (*fp)() noexcept; | |
| void (**fpp)() noexcept; | |
| void g(void (**pfa)() noexcept); | |
| void (**h())() noexcept; | |
| template<typename T> struct A {}; | |
| template<void() noexcept> struct B {}; | |
| A<void() noexcept> a; | |
| B<f> b; | |
| auto *p = new decltype(f)**; |