Test: mg_9_7

Higher SubleqErrorOutputSubleqITR
void main()
{
   for ( int i=0; i<10; i++ )
   {
      if( i==3 ) continue;
      __out 48+i;
   }
}


012456789

   top:top top sqmain

_main:
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; bp 0
   bp; sp bp
   dec sp
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; t1 0
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; t2 0
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; t3 0
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; t4 0

   t1; t2; bp t1; dec t1; t1 t2
   ?+23; ?+21; ?+24; t2 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; c1 Z; Z 0; Z
l1:
   t2; t1; bp t2; dec t2; t2 t1
   t2; t3; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 t3
   t1; c2 Z; Z t1; Z; t3 t1
   Z t1 l3
   t2; t3; bp t2; dec t2; t2 t3
   t2; t4; ?+11; t3 Z; Z ?+4; Z; 0 t2; t2 t4
   t3; t4 Z; Z t3; Z; c3 t3 ?+3
   t3 t3 ?+9; t3 Z ?+3; Z Z ?+3; inc t3
   Z t3 l4
   Z Z l2

l4:

   t1; t2; bp t1; dec t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; c4 t2; t3 t2; t2 t1
   t1 (-1)

l2:
   t3; t2; bp t3; dec t3; t3 t2
   t2 Z; ?+9; Z ?+5; Z; inc 0
   Z Z l1
l3:

   ?+8; sp ?+4; t4; 0 t4; inc sp
   ?+8; sp ?+4; t3; 0 t3; inc sp
   ?+8; sp ?+4; t2; 0 t2; inc sp
   ?+8; sp ?+4; t1; 0 t1; inc sp
   sp; bp sp
   ?+8; sp ?+4; bp; 0 bp; inc sp
   ?+8; sp ?+4; ?+7; 0 ?+3; Z Z 0

sqmain:
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 _main; . ?; inc sp

   Z Z (-1)

. c1:0 c2:10 c3:3 c4:48

. t1:0 t2:0 t3:0 t4:0

. inc:-1 Z:0 dec:1 ax:0 bp:0 sp:-sp

Root (mg_9_7.hsq:9)
   Function:1 [main] (mg_9_7.hsq:1)
      Keyword [void] (mg_9_7.hsq:1)
      Param-type-list (mg_9_7.hsq:1)
      Block (mg_9_7.hsq:2)
         Keyword-statement [for] (mg_9_7.hsq:3)
            Declaration (mg_9_7.hsq:3)
               Keyword [int] (mg_9_7.hsq:3)
               Declarator [=] (mg_9_7.hsq:3)
                  Stackvar:1 [i] (mg_9_7.hsq:3)
                  Const [0] (mg_9_7.hsq:3)
            Relational [<] (mg_9_7.hsq:3)
               Unary [*] (mg_9_7.hsq:3) i:3
                  Additive [+] (mg_9_7.hsq:3) i:3
                     Variable [@bp] (mg_9_7.hsq:3) i:3
                     Const [1] (mg_9_7.hsq:3) i:3
               Const [10] (mg_9_7.hsq:3)
            Postfix [++] (mg_9_7.hsq:3)
               Unary [*] (mg_9_7.hsq:3) i:3
                  Additive [+] (mg_9_7.hsq:3) i:3
                     Variable [@bp] (mg_9_7.hsq:3) i:3
                     Const [1] (mg_9_7.hsq:3) i:3
            Block (mg_9_7.hsq:4)
               Keyword-statement [if] (mg_9_7.hsq:5)
                  Equality [==] (mg_9_7.hsq:5)
                     Unary [*] (mg_9_7.hsq:5) i:3
                        Additive [+] (mg_9_7.hsq:5) i:3
                           Variable [@bp] (mg_9_7.hsq:5) i:3
                           Const [1] (mg_9_7.hsq:5) i:3
                     Const [3] (mg_9_7.hsq:5)
                  Keyword-statement [continue] (mg_9_7.hsq:5)
               OperatorIO [__out] (mg_9_7.hsq:6)
                  Additive [+] (mg_9_7.hsq:6)
                     Const [48] (mg_9_7.hsq:6)
                     Unary [*] (mg_9_7.hsq:6) i:3
                        Additive [+] (mg_9_7.hsq:6) i:3
                           Variable [@bp] (mg_9_7.hsq:6) i:3
                           Const [1] (mg_9_7.hsq:6) i:3