Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • tests/ctrl-flow/loop_else.cfa

    r1fb09ef r88bc876  
    7474                i -= 1.7;
    7575        } else { sout | "else"; }                                                                                                               sout | nl | nl;
    76        
     76
    7777        enum { N = 10 };
    7878        for ( N ) { sout | "N"; } else { sout | "else"; }                                                       sout | nl;
     
    109109        for ( s; (S){0} -~  (S){10,10} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl;
    110110        for ( s; (S){0} -~= (S){10,10} ) { sout | s; } else { sout | "else"; }           sout | nl;
    111         for ( s; (S){0} -~= (S){10,10} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl | nl;
     111        for ( s; (S){0} -~= (S){10,10} ~ (S){1} ) { sout | s; } else { sout | "else"; } sout | nl;
     112        sout | nl;
     113
     114        // A break (or a continue) in an else clause should target an outer loop.
     115        sout | "before";
     116        while ( true ) {
     117                sout | " begin";
     118                while ( false ) {
     119                        sout | "never";
     120                } else {
     121                        sout | " else";
     122                        break;
     123                }
     124                sout | " end";
     125        }
     126        sout | " after" | nl;
    112127}
Note: See TracChangeset for help on using the changeset viewer.