[svn:parrot] r44736 - in branches/ops_pct/compilers/opsc/src/Ops: . Trans

bacek at svn.parrot.org bacek at svn.parrot.org
Sun Mar 7 12:55:08 UTC 2010


Author: bacek
Date: Sun Mar  7 12:55:07 2010
New Revision: 44736
URL: https://trac.parrot.org/parrot/changeset/44736

Log:
Always listify arg_types

Modified:
   branches/ops_pct/compilers/opsc/src/Ops/Op.pm
   branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm

Modified: branches/ops_pct/compilers/opsc/src/Ops/Op.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/Op.pm	Sun Mar  7 12:54:41 2010	(r44735)
+++ branches/ops_pct/compilers/opsc/src/Ops/Op.pm	Sun Mar  7 12:55:07 2010	(r44736)
@@ -127,7 +127,11 @@
 
 method args($args?) { self.attr('args', $args, defined($args)) }
 
-method arg_types($args?)  { self.attr('arg_types', $args, defined($args)) }
+method arg_types($args?)  {
+    my $res := self.attr('arg_types', $args, defined($args));
+    pir::does__IPS($res, 'array') ?? $res !! list($res);
+}
+
 method arg_dirs($args?)   { self.attr('arg_dirs', $args, defined($args)) }
 
 method arg_type($arg_num) {

Modified: branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm
==============================================================================
--- branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm	Sun Mar  7 12:54:41 2010	(r44735)
+++ branches/ops_pct/compilers/opsc/src/Ops/Trans/C.pm	Sun Mar  7 12:55:07 2010	(r44736)
@@ -200,7 +200,7 @@
         my $arg_count := $op.size;
 
         ## 0 inserted if arrays are empty to prevent msvc compiler errors
-        my $arg_types := $op.arg_types
+        my $arg_types := +$op.arg_types
             ?? '{ ' ~ join( ", ",
                 |map( -> $t { sprintf( "PARROT_ARG_%s", uc($t) ) }, $op.arg_types)
             ) ~ ' }'


More information about the parrot-commits mailing list