diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b687ac245aa0352d68d1388e437e9b964702888b..8b4d071659896172173cda201f43c52f1942b283 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
+
+	PR tree-opt/17624
+	* g++.dg/opt/pr17624.C: New test.
+
 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
 
 	PR c/6980
diff --git a/gcc/testsuite/g++.dg/opt/pr17624.C b/gcc/testsuite/g++.dg/opt/pr17624.C
new file mode 100644
index 0000000000000000000000000000000000000000..07fbf14da3619431dea54d1081322d527cf1ce34
--- /dev/null
+++ b/gcc/testsuite/g++.dg/opt/pr17624.C
@@ -0,0 +1,23 @@
+// { dg-do compile }
+// { dg-options "-O2" }
+
+extern void foo (void);
+int c;
+void foo (int n)
+{
+  int j = 0;
+  try
+    {
+      for(;;)
+        {
+          foo ();
+          if (j ++ == n)
+            break;
+          foo ();
+        }
+    }
+  catch (...)
+    {
+      c = j;
+    }
+}