p2-places-1z.cpp
517 Bytes
// 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)**;