Changeset 9506c70 for src/ControlStruct


Ignore:
Timestamp:
Feb 24, 2025, 4:58:06 PM (7 months ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
master
Children:
b8b64c34
Parents:
4be0117
Message:

Stricter BranchStmt code generation that should prevent some of the warning cases removed in the concurrency test update. This also caught a bad case in the control flow handling code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ControlStruct/MultiLevelExit.cpp

    r4be0117 r9506c70  
    499499                }
    500500
     501                // The end of the last case is always immediately before the first
     502                // statement after the switch, so we can jump here as a break.
    501503                auto mutCase = mutStmt->cases.back().get_and_mutate();
    502 
    503                 Label label( mutCase->location, "breakLabel" );
    504                 auto branch = new BranchStmt( mutCase->location, BranchStmt::Break, label );
    505                 branch->labels.push_back( entry.useBreakExit() );
     504                auto branch = labelledNullStmt( mutCase->location, entry.useBreakExit() );
    506505                mutCase->stmts.push_back( branch );
    507506
Note: See TracChangeset for help on using the changeset viewer.