1 /* The problem here was that the statements that 2 loaded from exception.reason where not being 3 marked as having volatile behavior which 4 caused load PRE on the tree level to go 5 into an infinite loop. */ 6 7 struct gdb_exception 8 { 9 int reason; 10 }; catch_exceptions_with_msg(int * gdberrmsg)11int catch_exceptions_with_msg (int *gdberrmsg) 12 { 13 volatile struct gdb_exception exception; 14 exceptions_state_mc_init (&(exception)); 15 if (exception.reason != 0) 16 foo (); 17 return exception.reason; 18 } 19