/* The problem here was that the statements that
   loaded from exception.reason where not being
   marked as having volatile behaviour which
   caused load PRE on the tree level to go
   into an infinite loop. */

struct gdb_exception
{
  int reason;
};
int catch_exceptions_with_msg (int *gdberrmsg)
{
  volatile struct gdb_exception exception;
  exceptions_state_mc_init (&(exception));
  if (exception.reason != 0)
    foo ();
  return exception.reason;
}
