Changeset 96f5b30 for tests


Ignore:
Timestamp:
Jan 17, 2020, 3:11:15 PM (4 years ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
f090750
Parents:
9e63a2b
Message:

Added more tests for statements that are not allowed to be in a finally clause.

Location:
tests
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tests/.expect/except-finally-error.txt

    r9e63a2b r96f5b30  
    11except-finally-error.cfa:7:1 error: 'break' outside a loop, 'switch', or labelled block
    2 except-finally-error.cfa:15:1 error: 'continue' target must be an enclosing loop:
    3 except-finally-error.cfa:32:1 error: 'break' target must be an enclosing control structure: mainLoop
    4 except-finally-error.cfa:40:1 error: 'continue' target must be an enclosing loop: mainLoop
     2except-finally-error.cfa:15:1 error: 'break' outside a loop, 'switch', or labelled block
     3except-finally-error.cfa:23:1 error: 'break' outside a loop, 'switch', or labelled block
     4except-finally-error.cfa:31:1 error: 'continue' target must be an enclosing loop:
     5except-finally-error.cfa:48:1 error: 'break' target must be an enclosing control structure: mainLoop
     6except-finally-error.cfa:56:1 error: 'continue' target must be an enclosing loop: mainLoop
     7except-finally-error.cfa:65:1 error: 'break' outside a loop, 'switch', or labelled block
     8except-finally-error.cfa:76:1 error: 'break' outside a loop, 'switch', or labelled block
     9except-finally-error.cfa:87:1 error: 'fallthrough' must be enclosed in a 'switch' or 'choose'
     10except-finally-error.cfa:98:1 error: 'break' target must be an enclosing control structure: mainBlock
     11except-finally-error.cfa:111:1 error: 'fallthrough' must be enclosed in a 'switch' or 'choose'
     12except-finally-error.cfa:124:1 error: 'fallthrough' must be enclosed in a 'switch' or 'choose'
  • tests/except-finally-error.cfa

    r9e63a2b r96f5b30  
    88                }
    99        }
     10}
     11
     12void for_break_in_finally() {
     13        for (10) {
     14                try {} finally {
     15                        break;
     16                }
     17        }
     18}
     19
     20void do_while_break_in_finally() {
     21        do {
     22                try {} finally {
     23                        break;
     24                }
     25        } while (false);
    1026}
    1127
     
    4359}
    4460
     61void switch_break_in_finally() {
     62        switch (1) {
     63        case 1:
     64                try {} finally {
     65                        break;
     66                }
     67        default:
     68                break;
     69        }
     70}
     71
     72void choose_break_in_finally() {
     73        choose (1) {
     74        case 1:
     75                try {} finally {
     76                        break;
     77                }
     78        default:
     79                break;
     80        }
     81}
     82
     83void choose_fallthru_in_finally() {
     84        choose (1) {
     85        case 1:
     86                try {} finally {
     87                        fallthru;
     88                }
     89        default:
     90                break;
     91        }
     92}
     93
     94void labelled_choose_break_in_finally() {
     95        mainBlock: choose (1) {
     96        case 1:
     97                try {} finally {
     98                        break mainBlock;
     99                }
     100        case 2:
     101                break;
     102        default:
     103                break;
     104        }
     105}
     106
     107void labelled_choose_fallthru_in_finally() {
     108        mainBlock: choose (1) {
     109        case 1:
     110                try {} finally {
     111                        fallthru mainBlock;
     112                }
     113        case 2:
     114                break;
     115        default:
     116                break;
     117        }
     118}
     119
     120void choose_fallthru_default_in_finally() {
     121        choose (1) {
     122        case 1:
     123                try {} finally {
     124                        fallthru default;
     125                }
     126        default:
     127                break;
     128        }
     129}
     130
    45131void void_return_in_finally() {
    46132        try {} finally {
Note: See TracChangeset for help on using the changeset viewer.