18 lines
517 B
C++
18 lines
517 B
C++
|
// 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)**;
|