1 /* { dg-do compile } */ 2 /* { dg-options "-O -fnon-call-exceptions -fdump-tree-lim2-details -w" } */ 3 4 extern volatile int y; 5 6 double foo(double a,int x)7foo (double a, int x) 8 { 9 while (x--) 10 { 11 y++; 12 a += 1.0 / 0.0; 13 } 14 return a; 15 } 16 17 // The expression 1.0 / 0.0 should not be treated as a loop invariant 18 // if it may throw an exception. 19 // { dg-final { scan-tree-dump-times "invariant up to" 0 "lim2" } } 20