[svn:parrot] r41900 - branches/pcc_reapply/lib/Parrot/Pmc2c

whiteknight at svn.parrot.org whiteknight at svn.parrot.org
Sat Oct 17 13:57:02 UTC 2009


Author: whiteknight
Date: Sat Oct 17 13:56:57 2009
New Revision: 41900
URL: https://trac.parrot.org/parrot/changeset/41900

Log:
[pcc] for some reason values are not being properly sign-extended on x64 without a cast. So, add in explicit casts on returns from variadic arg lists to make sure things are right

Modified:
   branches/pcc_reapply/lib/Parrot/Pmc2c/PCCMETHOD.pm

Modified: branches/pcc_reapply/lib/Parrot/Pmc2c/PCCMETHOD.pm
==============================================================================
--- branches/pcc_reapply/lib/Parrot/Pmc2c/PCCMETHOD.pm	Sat Oct 17 13:35:25 2009	(r41899)
+++ branches/pcc_reapply/lib/Parrot/Pmc2c/PCCMETHOD.pm	Sat Oct 17 13:56:57 2009	(r41900)
@@ -359,7 +359,8 @@
             push @vararg_list, "&$name"
         }
         elsif ( $arg_type eq 'return' ) {
-            push @vararg_list, "$name";
+            my $typenamestr = $reg_type_info->{$type}{s};
+            push @vararg_list, "($typenamestr)$name";
         }
     }
 


More information about the parrot-commits mailing list