[svn:parrot] r41816 - branches/pcc_reapply/src/call

bacek at svn.parrot.org bacek at svn.parrot.org
Sun Oct 11 04:23:08 UTC 2009


Author: bacek
Date: Sun Oct 11 04:23:00 2009
New Revision: 41816
URL: https://trac.parrot.org/parrot/changeset/41816

Log:
Fix passing constant strings as named returns.

Modified:
   branches/pcc_reapply/src/call/args.c

Modified: branches/pcc_reapply/src/call/args.c
==============================================================================
--- branches/pcc_reapply/src/call/args.c	Sun Oct 11 04:00:47 2009	(r41815)
+++ branches/pcc_reapply/src/call/args.c	Sun Oct 11 04:23:00 2009	(r41816)
@@ -734,7 +734,10 @@
             case PARROT_ARG_STRING:
                 if (arg_flags & PARROT_ARG_NAME) {
                     PMC *name_string = pmc_new(interp, enum_class_String);
-                    VTABLE_set_string_native(interp, name_string, (CTX_REG_STR(ctx, raw_index)));
+                    STRING * string_val = arg_flags & PARROT_ARG_CONSTANT
+                                          ? Parrot_pcc_get_string_constant(interp, ctx, raw_index)
+                                          : CTX_REG_STR(ctx, raw_index);
+                    VTABLE_set_string_native(interp, name_string, string_val);
                     VTABLE_push_pmc(interp, returns, name_string);
                 }
                 else {


More information about the parrot-commits mailing list