[svn:parrot] r42091 - trunk/src

chromatic at svn.parrot.org chromatic at svn.parrot.org
Sun Oct 25 20:51:02 UTC 2009


Author: chromatic
Date: Sun Oct 25 20:50:58 2009
New Revision: 42091
URL: https://trac.parrot.org/parrot/changeset/42091

Log:
[extend] Made append_result() use FixedIntegerArray to note return value
instead of RIA; PCC expects a FIA for now.

Modified:
   trunk/src/extend.c

Modified: trunk/src/extend.c
==============================================================================
--- trunk/src/extend.c	Sun Oct 25 15:42:37 2009	(r42090)
+++ trunk/src/extend.c	Sun Oct 25 20:50:58 2009	(r42091)
@@ -1048,24 +1048,25 @@
     /* Update returns_flag */
     return_flags = VTABLE_get_attr_str(interp, sig_object, return_flags_name);
     if (PMC_IS_NULL(return_flags)) {
-        return_flags = pmc_new(interp, enum_class_ResizablePMCArray);
+        return_flags = pmc_new(interp, enum_class_FixedIntegerArray);
+        VTABLE_set_integer_native(interp, return_flags, 1);
         VTABLE_set_attr_str(interp, sig_object, return_flags_name, return_flags);
     }
     switch (Parrot_str_indexed(interp, type, 0)) {
         case 'I':
-            VTABLE_push_integer(interp, return_flags, PARROT_ARG_INTVAL);
+            VTABLE_set_integer_keyed_int(interp, return_flags, 0, PARROT_ARG_INTVAL);
             VTABLE_push_integer(interp, returns, PARROT_ARG_INTVAL);
             break;
         case 'N':
-            VTABLE_push_integer(interp, return_flags, PARROT_ARG_FLOATVAL);
+            VTABLE_set_integer_keyed_int(interp, return_flags, 0, PARROT_ARG_FLOATVAL);
             VTABLE_push_integer(interp, returns, PARROT_ARG_FLOATVAL);
             break;
         case 'S':
-            VTABLE_push_integer(interp, return_flags, PARROT_ARG_STRING);
+            VTABLE_set_integer_keyed_int(interp, return_flags, 0, PARROT_ARG_STRING);
             VTABLE_push_integer(interp, returns, PARROT_ARG_STRING);
             break;
         case 'P':
-            VTABLE_push_integer(interp, return_flags, PARROT_ARG_PMC);
+            VTABLE_set_integer_keyed_int(interp, return_flags, 0, PARROT_ARG_PMC);
             VTABLE_push_integer(interp, returns, PARROT_ARG_PMC);
             break;
         default:


More information about the parrot-commits mailing list