blob: 8edd3a1c6499aaff66ea837fe79b5340808e4834 [file] [log] [blame]
// 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() {}