diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/eh/spec4.C')
-rw-r--r-- | gcc/testsuite/g++.dg/eh/spec4.C | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/eh/spec4.C b/gcc/testsuite/g++.dg/eh/spec4.C new file mode 100644 index 000000000..8edd3a1c6 --- /dev/null +++ b/gcc/testsuite/g++.dg/eh/spec4.C @@ -0,0 +1,17 @@ +// PR c++/5104 +// Test that a function with a throw spec is a valid template argument. + +#include <exception> + +typedef void (*HandlerFunction)(); +typedef HandlerFunction (*SetHandlerFunction)(HandlerFunction); + +template <SetHandlerFunction set_function> +class HandlerStack { +public: + static void defaultHandler(); +}; + +typedef HandlerStack<std::set_terminate> Terminate; + +template<> void Terminate::defaultHandler() {} |