1// { dg-do assemble { xfail sparc64-*-elf } }
2// { dg-options "-g" }
3// GROUPS passed old-abort
4extern "C" { typedef int jmp_buf[12]; }
5
6enum Error { NO_ERROR };
7class ErrorHandler
8{
9    ErrorHandler *previous;
10    static ErrorHandler *error_stack;
11    jmp_buf error_buffer;
12protected:
13    static void pop()
14    {
15	error_stack = error_stack->previous;
16    }
17public:
18    jmp_buf *push()
19    {
20	previous = error_stack;
21	error_stack = this;
22	return &error_buffer;
23    }
24};
25