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)11 int 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