Ignore:
Timestamp:
Jul 13, 2016, 1:44:00 PM (8 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, 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:
9c791dd
Parents:
8884112 (diff), ed9ecda (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/SymTab/Validate.cc

    r8884112 rd1b9d78  
    99// Author           : Richard C. Bilson
    1010// Created On       : Sun May 17 21:50:04 2015
    11 // Last Modified By : Rob Schluntz
    12 // Last Modified On : Wed May 11 13:17:52 2016
    13 // Update Count     : 297
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Tue Jul 12 17:49:21 2016
     13// Update Count     : 298
    1414//
    1515
     
    7474                virtual void visit( CompoundStmt *compoundStmt );
    7575                virtual void visit( SwitchStmt *switchStmt );
    76                 virtual void visit( ChooseStmt *chooseStmt );
    77                 // virtual void visit( CaseStmt *caseStmt );
    7876          private:
    7977                HoistStruct();
     
    268266                addVisit( switchStmt, *this );
    269267        }
    270 
    271         void HoistStruct::visit( ChooseStmt *switchStmt ) {
    272                 addVisit( switchStmt, *this );
    273         }
    274 
    275         // void HoistStruct::visit( CaseStmt *caseStmt ) {
    276         //      addVisit( caseStmt, *this );
    277         // }
    278268
    279269        void Pass1::visit( EnumDecl *enumDecl ) {
     
    551541                if ( StructInstType *aggDecl = dynamic_cast< StructInstType * >( tyDecl->get_base() ) ) {
    552542                        return new StructDecl( aggDecl->get_name() );
     543//                      return aggDecl->get_baseStruct();
    553544                } else if ( UnionInstType *aggDecl = dynamic_cast< UnionInstType * >( tyDecl->get_base() ) ) {
    554545                        return new UnionDecl( aggDecl->get_name() );
     
    645636                } // if
    646637        }
     638
    647639        Declaration *EliminateTypedef::mutate( StructDecl * structDecl ) {
    648640                addImplicitTypedef( structDecl );
     
    691683
    692684                Visitor::visit( funcDecl );
    693                 // original idea: modify signature of ctor/dtors and insert appropriate return statements
    694                 // to cause desired behaviour
    695                 // new idea: add comma exprs to every ctor call to produce first parameter.
    696                 // this requires some memoization of the first parameter, because it can be a
    697                 // complicated expression with side effects (see: malloc). idea: add temporary variable
    698                 // that is assigned address of constructed object in ctor argument position and
    699                 // return the temporary. It should also be done after all implicit ctors are
    700                 // added, so not in this pass!
    701685        }
    702686
Note: See TracChangeset for help on using the changeset viewer.