modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/volatile-1.c (about) 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 }; 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 }