Changeset d1b9d78 for src/SymTab
- Timestamp:
- Jul 13, 2016, 1:44:00 PM (9 years ago)
- 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. - Location:
- src/SymTab
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/SymTab/AddVisit.h ¶
r8884112 rd1b9d78 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 16:14:32 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : T hu Apr 14 15:52:42201613 // Update Count : 511 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jul 12 17:46:33 2016 13 // Update Count : 6 14 14 // 15 15 … … 38 38 39 39 template< typename Visitor > 40 inline void addVisit(ChooseStmt *switchStmt, Visitor &visitor) {41 addVisitStatementList( switchStmt->get_branches(), visitor );42 maybeAccept( switchStmt->get_condition(), visitor );43 }44 45 // template< typename Visitor >46 // inline void addVisit(CaseStmt *caseStmt, Visitor &visitor) {47 // addVisitStatementList( caseStmt->get_statements(), visitor );48 // maybeAccept( caseStmt->get_condition(), visitor );49 // }50 51 template< typename Visitor >52 40 void acceptAndAdd( std::list< Declaration * > &translationUnit, Visitor &visitor, bool addBefore ) { 53 41 std::list< Declaration * >::iterator i = translationUnit.begin(); -
TabularUnified src/SymTab/Autogen.cc ¶
r8884112 rd1b9d78 9 9 // Author : Rob Schluntz 10 10 // Created On : Thu Mar 03 15:45:56 2016 11 // Last Modified By : Rob Schluntz12 // Last Modified On : T hu May 26 14:14:09201613 // Update Count : 111 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jul 12 17:47:17 2016 13 // Update Count : 2 14 14 // 15 15 … … 42 42 virtual void visit( CompoundStmt *compoundStmt ); 43 43 virtual void visit( SwitchStmt *switchStmt ); 44 virtual void visit( ChooseStmt *chooseStmt );45 // virtual void visit( CaseStmt *caseStmt );46 44 47 45 AutogenerateRoutines() : functionNesting( 0 ) {} … … 559 557 visitStatement( switchStmt ); 560 558 } 561 562 void AutogenerateRoutines::visit( ChooseStmt *switchStmt ) {563 visitStatement( switchStmt );564 }565 566 // void AutogenerateRoutines::visit( CaseStmt *caseStmt ) {567 // visitStatement( caseStmt );568 // }569 559 } // SymTab -
TabularUnified src/SymTab/Indexer.cc ¶
r8884112 rd1b9d78 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 21:37:33 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Fri Apr 22 15:25:43201613 // Update Count : 1 111 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jul 12 17:47:47 2016 13 // Update Count : 12 14 14 // 15 15 … … 520 520 const MangleTable &mangleTable = decls->second; 521 521 for ( MangleTable::const_iterator decl = mangleTable.begin(); decl != mangleTable.end(); ++decl ) { 522 // check for C decls with the same name, skipping 523 // those with a compatible type (by mangleName) 522 // check for C decls with the same name, skipping those with a compatible type (by mangleName) 524 523 if ( decl->second->get_linkage() == LinkageSpec::C && decl->first != mangleName ) return true; 525 524 } -
TabularUnified src/SymTab/Validate.cc ¶
r8884112 rd1b9d78 9 9 // Author : Richard C. Bilson 10 10 // Created On : Sun May 17 21:50:04 2015 11 // Last Modified By : Rob Schluntz12 // Last Modified On : Wed May 11 13:17:52201613 // Update Count : 29 711 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Tue Jul 12 17:49:21 2016 13 // Update Count : 298 14 14 // 15 15 … … 74 74 virtual void visit( CompoundStmt *compoundStmt ); 75 75 virtual void visit( SwitchStmt *switchStmt ); 76 virtual void visit( ChooseStmt *chooseStmt );77 // virtual void visit( CaseStmt *caseStmt );78 76 private: 79 77 HoistStruct(); … … 268 266 addVisit( switchStmt, *this ); 269 267 } 270 271 void HoistStruct::visit( ChooseStmt *switchStmt ) {272 addVisit( switchStmt, *this );273 }274 275 // void HoistStruct::visit( CaseStmt *caseStmt ) {276 // addVisit( caseStmt, *this );277 // }278 268 279 269 void Pass1::visit( EnumDecl *enumDecl ) { … … 551 541 if ( StructInstType *aggDecl = dynamic_cast< StructInstType * >( tyDecl->get_base() ) ) { 552 542 return new StructDecl( aggDecl->get_name() ); 543 // return aggDecl->get_baseStruct(); 553 544 } else if ( UnionInstType *aggDecl = dynamic_cast< UnionInstType * >( tyDecl->get_base() ) ) { 554 545 return new UnionDecl( aggDecl->get_name() ); … … 645 636 } // if 646 637 } 638 647 639 Declaration *EliminateTypedef::mutate( StructDecl * structDecl ) { 648 640 addImplicitTypedef( structDecl ); … … 691 683 692 684 Visitor::visit( funcDecl ); 693 // original idea: modify signature of ctor/dtors and insert appropriate return statements694 // to cause desired behaviour695 // 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 a697 // complicated expression with side effects (see: malloc). idea: add temporary variable698 // that is assigned address of constructed object in ctor argument position and699 // return the temporary. It should also be done after all implicit ctors are700 // added, so not in this pass!701 685 } 702 686
Note: See TracChangeset
for help on using the changeset viewer.