1// Build don't link:
2// Special g++ Options: -g
3// GROUPS passed old-abort
4// excess errors test - XFAIL sparc64-*-elf
5extern "C" { typedef int jmp_buf[12]; }
6
7enum Error { NO_ERROR };
8class ErrorHandler
9{
10    ErrorHandler *previous;
11    static ErrorHandler *error_stack;
12    jmp_buf error_buffer;
13protected:
14    static void pop()
15    {
16	error_stack = error_stack->previous;
17    }
18public:
19    jmp_buf *push()
20    {
21	previous = error_stack;
22	error_stack = this;
23	return &error_buffer;
24    }
25};
26