# New Ticket Created by  Andrew Johnson 
# Please include the string:  [perl #54920]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=54920 >


Environment:
        Parrot SVN revision 27839
        Sun Ultra-40 M2, dual-core AMD Opteron CPU.
        Sun Solaris 10 (SunOS 5.10)
        Sun Studio 12

I had to apply the following patch to get parrot to compile on the above 
setup; this is in a void function, and I don't think the original syntax 
is strictly legal C, even though GCC accepts it because the function 
called also returns void:

Index: compilers/imcc/pcc.c
===================================================================
--- compilers/imcc/pcc.c        (revision 27839)
+++ compilers/imcc/pcc.c        (working copy)
@@ -743,8 +743,10 @@
      }

      /* if we have a tail call then insert a tailcall opcode */
-    if (tail_call)
-        return insert_tail_call(interp, unit, ins, sub, meth);
+    if (tail_call) {
+        insert_tail_call(interp, unit, ins, sub, meth);
+        return;
+    }

      /* handle return results */
      n   = sub->pcc_sub->nret;


During subsequent 'make test' runs the tests in t/dynoplibs/myops hung 
using up 100% of a CPU so I had to kill the parrot process, after which 
testing continued and reported:

t/dynoplibs/myops............................ok
         2/10 skipped: various reasons

The final results of 'make test' were:

All tests successful, 31 tests and 599 subtests skipped.
Files=583, Tests=11174, 1056 wallclock secs (237.83 cusr + 28.39 csys = 
266.22 CPU)

- Andrew
-- 
Talk is cheap. Show me the code. -- Linus Torvalds

Reply via email to