+++ /dev/null
-// Verify that loop optimization takes into account the exception edge
-// and does not increment I before the call.
-// { dg-do run }
-// { dg-options "-O2" }
-
-extern "C" void abort();
-static void bar(char *);
-
-static void foo(unsigned long element_count, char *ptr)
-{
- unsigned long i;
- try {
- for (i = 0; i != element_count; i++, ptr += 8)
- bar (ptr);
- }
- catch (...) {
- if (i)
- abort ();
- }
-}
-
-static void bar(char *)
-{
- throw 1;
-}
-
-int main()
-{
- foo(2, 0);
-}