Ignore:
Timestamp:
Jun 28, 2016, 3:33:01 PM (8 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
4dcea3f
Parents:
888cbe4
Message:

overhaul MLE code, attach label to break/continue statements so it can be used to generate dtor calls, mutate continue statements into goto statements so dtor generation works correctly

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ControlStruct/MLEMutator.h

    r888cbe4 re39aa0f  
    5656                        bool operator!=( const Statement *stmt ) { return ( loop != stmt ); }
    5757
    58                         bool operator==( const Entry &other ) { return ( loop == other.get_loop() ); }
     58                        bool operator==( const Entry &other ) { return ( loop == other.get_controlStructure() ); }
    5959
    60                         Statement *get_loop() const { return loop; }
     60                        Statement *get_controlStructure() const { return loop; }
    6161
    6262                        Label useContExit() { contUsed = true; return contExit; }
     
    7373
    7474                std::map< Label, Statement * > *targetTable;
    75                 std::list< Entry > enclosingBlocks, enclosingLoops, enclosingSwitches;
     75                std::list< Entry > enclosingControlStructures;
    7676                Label breakLabel;
    7777                LabelGenerator *generator;
Note: See TracChangeset for help on using the changeset viewer.