1 // PR optimization/11083
2 // Origin: <nick@ilm.com>
3 // Reduced testcase by Wolfgang Bangerth <bangerth@ticam.utexas.edu>
5 // The compiler used to keep unreachable basic blocks after dead edges
6 // had been purged, which fooled the LCM code of the GCSE pass.
9 // { dg-options "-O2 -fnon-call-exceptions" }
11 extern void *memmove (void *, const void *, unsigned int) throw ();
22 void foo(S first, S last) {
23 try { memmove(0, 0, last.q - first.q); }
27 void bar (const X& x);
30 void X::bar (const X& x)
32 const unsigned int xlen = S(x.p).q - S(x.p).q;