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