cvsuser     03/06/12 00:51:26

  Modified:    languages/imcc/t/syn bsr.t
  Log:
  added 2 tests for nested subs
  
  Revision  Changes    Path
  1.8       +53 -1     parrot/languages/imcc/t/syn/bsr.t
  
  Index: bsr.t
  ===================================================================
  RCS file: /cvs/public/parrot/languages/imcc/t/syn/bsr.t,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -w -r1.7 -r1.8
  --- bsr.t     5 May 2003 19:34:12 -0000       1.7
  +++ bsr.t     12 Jun 2003 07:51:26 -0000      1.8
  @@ -1,6 +1,6 @@
   #!perl
   use strict;
  -use TestCompiler tests => 10;
  +use TestCompiler tests => 12;
   
   ##############################
   # this tests register allocation/preserving of local bsr calls
  @@ -345,3 +345,55 @@
   END {
     unlink $file;
   }
  +##############################
  +# nested subs
  +# NOTE: global labels necessary
  +#
  +output_is(<<'CODE', <<'OUT', "nested subs");
  +.sub _main
  +         .sub _dummy
  +                 call _inner1
  +                 call _inner2
  +                 end
  +         .end
  +         .sub _inner1
  +                 print "Inner1\n"
  +                 ret
  +         .end
  +         .sub _inner2
  +                 print "Inner2\n"
  +                 ret
  +         .end
  +.end
  +CODE
  +Inner1
  +Inner2
  +OUT
  +
  +output_is(<<'CODE', <<'OUT', "nested subs 2");
  +.sub __main
  +     call _main
  +     end
  +.end
  +.sub _main
  +      print "main\n"
  +      call _inner1
  +      call _inner2
  +         .sub _inner1
  +                 print "Inner1\n"
  +                 ret
  +         .end
  +         .sub _inner2
  +                 print "Inner2\n"
  +                 ret
  +         .end
  +      print "back\n"
  +      ret
  +.end
  +CODE
  +main
  +Inner1
  +Inner2
  +back
  +OUT
  +
  
  
  

Reply via email to