Changeset 145f1fc for src/SymTab


Ignore:
Timestamp:
Jul 15, 2015, 2:59:57 PM (10 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, string, with_gc
Children:
1ab4ce2, 2794fff, e45215c
Parents:
85c4ef0
Message:

modified ForStmt to have a list of statements for the initialization portion, and reverted to hoisting the initialization

Location:
src/SymTab
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/AddVisit.h

    r85c4ef0 r145f1fc  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sun May 17 16:14:32 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun May 17 16:16:38 2015
    13 // Update Count     : 3
     11// Last Modified By : Rob Schluntz
     12// Last Modified On : Tue Jul 14 12:26:17 2015
     13// Update Count     : 4
    1414//
    1515
     
    5757        inline void addVisit(ForStmt *forStmt, Visitor &visitor) {
    5858                addVisitStatement( forStmt->get_body(), visitor );
    59                 maybeAccept( forStmt->get_initialization(), visitor );
     59                acceptAll( forStmt->get_initialization(), visitor );
    6060                maybeAccept( forStmt->get_condition(), visitor );
    6161                maybeAccept( forStmt->get_increment(), visitor );
  • src/SymTab/Validate.cc

    r85c4ef0 r145f1fc  
    1010// Created On       : Sun May 17 21:50:04 2015
    1111// Last Modified By : Rob Schluntz
    12 // Last Modified On : Mon Jul 13 14:38:19 2015
    13 // Update Count     : 184
     12// Last Modified On : Tue Jul 14 12:27:54 2015
     13// Update Count     : 186
    1414//
    1515
     
    530530                init->get_args().push_back( new NameExpr( "0" ) );
    531531                Statement *initStmt = new ExprStmt( noLabels, init );
    532  
     532                std::list<Statement *> initList;
     533                initList.push_back( initStmt );
     534
    533535                UntypedExpr *cond = new UntypedExpr( new NameExpr( "?<?" ) );
    534536                cond->get_args().push_back( new VariableExpr( index ) );
     
    555557                assignExpr->get_args().push_back( srcIndex );
    556558 
    557                 *out++ = new ForStmt( noLabels, initStmt, cond, inc, new ExprStmt( noLabels, assignExpr ) );
     559                *out++ = new ForStmt( noLabels, initList, cond, inc, new ExprStmt( noLabels, assignExpr ) );
    558560        }
    559561
Note: See TracChangeset for help on using the changeset viewer.