Changeset bbbff10 for tests/ctrl-flow


Ignore:
Timestamp:
Feb 1, 2025, 8:49:35 AM (8 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
master
Children:
7846f91, 90e683b
Parents:
641707d
Message:

update loop_else test to handle warnings

Location:
tests/ctrl-flow
Files:
1 added
2 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • tests/ctrl-flow/.expect/loop_else.txt

    r641707d rbbbff10  
     1empty
     2empty
     3empty
     4empty
    15empty
    26empty
    37empty
    48
     9else
     10else
    511false else
    612
  • tests/ctrl-flow/loop_else.cfa

    r641707d rbbbff10  
    2020
    2121int main() {
     22        sout | nlOff;                                                                           // turn off auto newline
     23
     24        // Special cases print warning: else clause never executed for empty loop conditional.
     25
     26        while () { sout | "empty"; break; } else { sout | "else"; }                                             sout | nl;
     27        do { sout | "empty"; break; } while () else { sout | "else"; }                                  sout | nl;
     28        for () { sout | "empty"; break; } else { sout | "else"; }                                               sout | nl;
     29
    2230        // Test some loop options.
    2331
    24         sout | nlOff;                                                                           // turn off auto newline
    2532        while ( true ) { sout | "empty"; break; } else { sout | "else"; }                               sout | nl;
    2633        do { sout | "empty"; break; } while ( true ) else { sout | "else"; }                    sout | nl;
     34        for ( ;; ) { sout | "empty"; break; } else { sout | "else"; }                                   sout | nl;
    2735        for ( ; true ; ) { sout | "empty"; break; } else { sout | "else"; }                             sout | nl | nl;
    2836
     37        while ( false ) { sout | "false"; break; } else { sout | "else"; }                              sout | nl;
     38        for ( ; false; ) { sout | "false"; break; } else { sout | "else"; }                             sout | nl;
    2939        do { sout | "false"; } while (false) else { sout | "else"; }                                    sout | nl | nl;
    3040
     
    4858
    4959        // @ means do nothing
     60
    5061        for ( i; 1 ~ @ ) {
    5162          if ( i > 10 ) break;
     
    113124
    114125        // A break (or a continue) in an else clause should target an outer loop.
     126
    115127        sout | "before";
    116128        while ( true ) {
Note: See TracChangeset for help on using the changeset viewer.