diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index fc28a08c365dd2cc89b2feece1979ff6ebe54785..921aeb714c8ff25a3b18c7d4790ca5f613ae01a9 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,5 +1,9 @@
 2004-11-24  Tom Tromey  <tromey@redhat.com>
 
+	* verify-impl.c (vfy_push_type): Removed bogus "return".
+	(initialize_stack): Use vfy_alloc and vfy_free.
+	(verify_instructions_0): Likewise.
+
 	* Merged gcj-abi-2-dev-branch to trunk.
 
 2004-11-24  Andrew Haley  <aph@redhat.com>
diff --git a/gcc/java/verify-impl.c b/gcc/java/verify-impl.c
index 2c402a8c62bc6aa62cbdb88c141b0daa495b831a..f48797892b2a1c553abe086b57acd69c1d8a7f48 100644
--- a/gcc/java/verify-impl.c
+++ b/gcc/java/verify-impl.c
@@ -1329,7 +1329,7 @@ static void
 vfy_push_type (type_val tval)
 {
   type t = make_type (tval);
-  return vfy_push_type_t (t);
+  vfy_push_type_t (t);
 }
 
 #define push_type vfy_push_type
@@ -2267,7 +2267,7 @@ initialize_stack (void)
   /* We have to handle wide arguments specially here.  */
   arg_count = vfy_count_arguments (vfy_get_signature (vfr->current_method));
   {
-    type arg_types[arg_count];
+    type *arg_types = (type *) vfy_alloc (arg_count * sizeof (type));
     compute_argument_types (vfy_get_signature (vfr->current_method), arg_types);
     for (i = 0; i < arg_count; ++i)
       {
@@ -2276,6 +2276,7 @@ initialize_stack (void)
 	if (type_iswide (&arg_types[i]))
 	  ++var;
       }
+    vfy_free (arg_types);
   }
 
   return is_init;
@@ -3037,7 +3038,7 @@ verify_instructions_0 (void)
 	    arg_count = vfy_count_arguments (method_signature);
             {
 	      /* Pop arguments and check types.  */
-	      type arg_types[arg_count];
+	      type *arg_types = (type *) vfy_alloc (arg_count * sizeof (type));
 
 	      compute_argument_types (method_signature, arg_types);
 	      for (i = arg_count - 1; i >= 0; --i)
@@ -3047,6 +3048,8 @@ verify_instructions_0 (void)
 		  nargs -= type_depth (&arg_types[i]);
 		  pop_init_ref_t (arg_types[i]);
 		}
+
+	      vfy_free (arg_types);
 	    }
 
 	    if (opcode == op_invokeinterface