Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ControlStruct/Mutate.cc

    r25fcb84 r1fbeebd  
    1818
    1919#include "Common/PassVisitor.h"    // for mutateAll
     20#include "Common/SemanticError.h"  // for SemanticError
    2021#include "ForExprMutator.h"        // for ForExprMutator
    2122#include "LabelFixer.h"            // for LabelFixer
     
    2728#include "SynTree/Visitor.h"       // for acceptAll
    2829
     30using namespace std;
     31
    2932namespace ControlStruct {
    30         void fixLabels( std::list< Declaration * > & translationUnit ) {
     33        void mutate( std::list< Declaration * > translationUnit ) {
     34                // hoist initialization out of for statements
     35                PassVisitor<ForExprMutator> formut;
     36
     37                // normalizes label definitions and generates multi-level exit labels
    3138                PassVisitor<LabelFixer> lfix;
     39
     40                mutateAll( translationUnit, formut );
    3241                acceptAll( translationUnit, lfix );
    33         }
    34 
    35         void hoistControlDecls( std::list< Declaration * > & translationUnit ) {
    36                 PassVisitor<ForExprMutator> formut;
    37                 mutateAll( translationUnit, formut );
    3842        }
    3943} // namespace CodeGen
Note: See TracChangeset for help on using the changeset viewer.