Changeset bbbff10


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

update loop_else test to handle warnings

Location:
tests
Files:
1 added
2 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified tests/Makefile.am

    r641707d rbbbff10  
    1111## Created On       : Sun May 31 09:08:15 2015
    1212## Last Modified By : Peter A. Buhr
    13 ## Last Modified On : Thu Dec 19 22:11:14 2024
    14 ## Update Count     : 200
     13## Last Modified On : Sat Feb  1 08:20:27 2025
     14## Update Count     : 201
    1515###############################################################################
    1616
     
    5757WFLGAS_OPT_LAX_EXPECT_WARN = \
    5858        attr-priority \
     59        ctrl-flow/loop_else-WRN1 \
    5960        warnings/self-assignment
    6061
     
    353354        -cp ${test} ${abspath ${@}}
    354355
     356ctrl-flow/loop_else : ctrl-flow/loop_else.cfa ${CFACCBIN}
     357        ${CC} ${AM_CFLAGS} -Wno-superfluous-else $< -o $@
     358
     359ctrl-flow/loop_else-WRN1 : ctrl-flow/loop_else.cfa ${CFACCBIN}
     360        ${CFACOMPILE_SYNTAX} -DERR1
     361        -cp ${test} ${abspath ${@}}
     362
    355363# Exception Tests
    356364# Test with libcfathread; it changes how storage works.
  • TabularUnified tests/ctrl-flow/.expect/loop_else.txt

    r641707d rbbbff10  
     1empty
     2empty
     3empty
     4empty
    15empty
    26empty
    37empty
    48
     9else
     10else
    511false else
    612
  • TabularUnified 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.