[svn:parrot] r37971 - branches/pcc_rewiring/src/call

allison at svn.parrot.org allison at svn.parrot.org
Wed Apr 8 00:35:17 UTC 2009


Author: allison
Date: Wed Apr  8 00:35:15 2009
New Revision: 37971
URL: https://trac.parrot.org/parrot/changeset/37971

Log:
[pcc] Initialize the index into the list of positional arguments. After
handling an optional parameter that can't be filled by a positional
argument, break to the next parameter.

Modified:
   branches/pcc_rewiring/src/call/pcc.c

Modified: branches/pcc_rewiring/src/call/pcc.c
==============================================================================
--- branches/pcc_rewiring/src/call/pcc.c	Wed Apr  8 00:09:15 2009	(r37970)
+++ branches/pcc_rewiring/src/call/pcc.c	Wed Apr  8 00:35:15 2009	(r37971)
@@ -815,11 +815,12 @@
         ARGIN(PMC *raw_sig), ARGIN(opcode_t *raw_params))
 {
     ASSERT_ARGS(Parrot_pcc_fill_params_from_op)
-    INTVAL param_index, positional_index;
     Parrot_Context *ctx = CONTEXT(interp);
     INTVAL  positional_elements = VTABLE_elements(interp, call_object);
     INTVAL  param_count    = VTABLE_elements(interp, raw_sig);
     STRING *param_name     = NULL;
+    INTVAL  param_index    = 0;
+    INTVAL  positional_index = 0;
     INTVAL  named_count    = 0;
     INTVAL  slurpy_count   = 0;
     INTVAL  optional_count = 0;
@@ -962,6 +963,8 @@
                             EXCEPTION_INVALID_OPERATION, "invalid parameter type");
                     break;
             }
+
+            break; /* on to next parameter */
         }
 
         /* Otherwise, we have a positional argument to assign to the


More information about the parrot-commits mailing list