diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index cc45585659f8e9f74018d46eabebf65f353f1234..65f56b9ee0496c8ffa28ad721602b01ae969ac63 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2005-08-14  Andrew Pinski  <pinskia@physics.uc.edu>
+
+	* execute/exceptions/finally-1.m: Check that the catch and finally are
+	being called.  Also add a "return 0;" at the end of main.
+
 2005-08-14 Paul Thomas  <pault@gcc.gnu.org>
 
 	PR fortran/21432.
diff --git a/gcc/testsuite/objc/execute/exceptions/finally-1.m b/gcc/testsuite/objc/execute/exceptions/finally-1.m
index 9d4c396393e5efef162921103e193877c6159354..5f32de2b4e17e93cd427d18b220d8cbe29ee5510 100644
--- a/gcc/testsuite/objc/execute/exceptions/finally-1.m
+++ b/gcc/testsuite/objc/execute/exceptions/finally-1.m
@@ -1,45 +1,59 @@
 #include <objc/Object.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+static int made_try = 0;
 
 int
 thrower_try_body()
 {
-        printf("Thrower try body\n");
-        return (0);
+  made_try++;
+  return (0);
 }
 
+static int made_finally = 0;
+
 int
 finally_body()
 {
-        printf("Finally body\n");
-        return (0);
+  made_finally++;
+  return (0);
 }
 
 int
 thrower()
 {
-        @try
-        {
-                thrower_try_body();
-                @throw [Object new];
-        }
-        @finally
-        {
-                finally_body();
-        }       // <----- program aborts here.
-        return 0;
+  @try
+  {
+    thrower_try_body();
+    @throw [Object new];
+  }
+  @finally
+  {
+    finally_body();
+  }     
+  return 0;
 }
 
+static int made_catch = 0;
 
 int 
 main(int ac, char *av[])
 {
-        @try
-        {
-                thrower();
-        }
-        @catch (id exc)
-        {
-                printf("Got exception of class %s\n", [[exc class] name]);
-                [exc free];
-        }
+  @try
+  {
+    thrower();
+  }
+  @catch (id exc)
+  {
+    made_catch++;
+    [exc free];
+  }
+  if (made_try != 1)
+    abort ();
+  if (made_finally != 1)
+    abort ();
+  if (made_catch != 1)
+    abort ();
+  return 0;
 }