Changeset d62806c


Ignore:
Timestamp:
Jan 16, 2020, 4:44:17 PM (5 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:
095b99a
Parents:
768bd556
Message:

Start working on checks to make sure we do not jump out of a finally block.

Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • src/ControlStruct/MLEMutator.cc

    r768bd556 rd62806c  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Oct 22 17:22:44 2019
    13 // Update Count     : 220
     11// Last Modified By : Andrew Beach
     12// Last Modified On : Thr Jan 16 15:33:00 2020
     13// Update Count     : 221
    1414//
    1515
     
    331331        }
    332332
     333        void MLEMutator::premutate( FinallyStmt * ) {
     334                GuardAction([this, old = std::move(enclosingControlStructures)]() {
     335                        enclosingControlStructures = std::move(old);
     336                });
     337                enclosingControlStructures = std::list<Entry>();
     338        }
     339
    333340        void MLEMutator::premutate( CaseStmt *caseStmt ) {
    334341                visit_children = false;
  • src/ControlStruct/MLEMutator.h

    r768bd556 rd62806c  
    99// Author           : Rodolfo G. Esteves
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue Oct 22 17:22:47 2019
    13 // Update Count     : 45
     11// Last Modified By : Andrew Beach
     12// Last Modified On : Thr Jan 16 12:46:00 2020
     13// Update Count     : 46
    1414//
     15
     16// Can anyone figure out what MLE stands for?
    1517
    1618#pragma once
     
    4951                void premutate( TryStmt *tryStmt );
    5052                Statement * postmutate( TryStmt *tryStmt );
     53                void premutate( FinallyStmt *finallyStmt );
    5154
    5255                Statement *mutateLoop( Statement *bodyLoop, Entry &e );
Note: See TracChangeset for help on using the changeset viewer.