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