[TT# 1592][t] Improve test for open opcode delegation. All tests in the file pass...
[parrot.git] / examples / subs / single_retval.pir
blob83adee293b0698d619aba0b07751f966d5a37811
1 # Copyright (C) 2001-2008, Parrot Foundation.
2 # $Id$
4 =head1 NAME
6 examples/subs/single_retval.pir - Subroutine example
8 =head1 SYNOPSIS
10     % ./parrot examples/subs/single_retval.pir
12 =head1 DESCRIPTION
14 Simple subroutine calls with 1 return value.
16 =head1 SEE ALSO
18 F<docs/imcc/syntax.pod>
19 F<docs/imcc/calling_conventions.pod>
21 =cut
23 .sub example :main
24   .local int i
25   i = 7
26   $I1 = 8
27   .local string s
28   s = "nine"
29   $I2  = 10
31   # subs accept locals and registers
32   $I0 = foo(i, $I1, s, $I2)
33   print "return: "
34   print $I0
35   print "\n"
37   # subs accept locals and registers
38   ( $I3 ) = foo(i, $I1, s, $I2)
39   print "return: "
40   print $I3
41   print "\n"
43 .end
45 .sub foo
46   .param int i
47   .param int j
48   .param string s
49   .param string k
51   print i
52   print " "
53   print j
54   print " "
55   print s
56   print " "
57   print k
58   print "\n"
60   .return( 10 )
61 .end
63 # Local Variables:
64 #   mode: pir
65 #   fill-column: 100
66 # End:
67 # vim: expandtab shiftwidth=4 ft=pir: