? imcc/tc Index: imcc/t/syn/pcc.t =================================================================== RCS file: /cvs/public/parrot/imcc/t/syn/pcc.t,v retrieving revision 1.31 diff -p -u -b -r1.31 pcc.t --- imcc/t/syn/pcc.t 20 Jan 2004 01:50:47 -0000 1.31 +++ imcc/t/syn/pcc.t 20 Jan 2004 01:58:28 -0000 @@ -1,6 +1,6 @@ #!perl use strict; -use TestCompiler tests => 34; +use TestCompiler tests => 36; ############################## # Parrot Calling Conventions @@ -96,6 +96,60 @@ CODE 10 20 30 +OUT + +output_is(<<'CODE', <<'OUT', "non-prototyped int return"); +.pcc_sub _main + $P0 = newsub _L_closure2 + $I0 = 17 + .pcc_begin non_prototyped + .arg $I0 + .pcc_call $P0 +L_after_call7: + .result $I1 + .pcc_end +after_call: + print "returned " + print $I1 + print "\n" + end +.end + +.pcc_sub _L_closure2 non_prototyped + .param int value + .pcc_begin_return + .return value + .pcc_end_return +.end +CODE +returned 17 +OUT + +output_is(<<'CODE', <<'OUT', "prototyped int return"); +.pcc_sub _main + $P0 = newsub _L_closure2 + $I0 = 17 + .pcc_begin prototyped + .arg $I0 + .pcc_call $P0 +L_after_call7: + .result $I1 + .pcc_end +after_call: + print "returned " + print $I1 + print "\n" + end +.end + +.pcc_sub _L_closure2 prototyped + .param int value + .pcc_begin_return + .return value + .pcc_end_return +.end +CODE +returned 17 OUT ##############################