Ignore:
Timestamp:
Jun 4, 2018, 4:29:23 PM (6 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, with_gc
Children:
41770ed1, d885a58, f77dbc0
Parents:
1ddbf3b (diff), ee3c93d (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Common/PassVisitor.impl.h

    r1ddbf3b r2ad4b49  
    828828        VISIT_START( node );
    829829
    830         visitExpression( node->condition );
    831         node->body = visitStatement( node->body );
     830        {
     831                // while statements introduce a level of scope (for the initialization)
     832                auto guard = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } );
     833                maybeAccept_impl( node->initialization, *this );
     834                visitExpression ( node->condition );
     835                node->body = visitStatement( node->body );
     836        }
    832837
    833838        VISIT_END( node );
     
    838843        MUTATE_START( node );
    839844
    840         node->condition = mutateExpression( node->condition );
    841         node->body      = mutateStatement ( node->body      );
     845        {
     846                // while statements introduce a level of scope (for the initialization)
     847                auto guard = makeFuncGuard( [this]() { indexerScopeEnter(); }, [this]() { indexerScopeLeave(); } );
     848                maybeMutate_impl( node->initialization, *this );
     849                node->condition = mutateExpression( node->condition );
     850                node->body      = mutateStatement ( node->body      );
     851        }
     852
    842853
    843854        MUTATE_END( Statement, node );
Note: See TracChangeset for help on using the changeset viewer.