Changeset 82dd287 for src/SymTab
- Timestamp:
- Jul 9, 2015, 3:07:22 PM (9 years ago)
- 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:
- cff1143
- Parents:
- 413f7f8
- git-author:
- Aaron Moss <a3moss@…> (07/08/15 16:16:21)
- git-committer:
- Aaron Moss <a3moss@…> (07/09/15 15:07:22)
- Location:
- src/SymTab
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/FixFunction.h
r413f7f8 r82dd287 20 20 21 21 namespace SymTab { 22 /// Replaces function and array types by equivalent pointer types. 22 23 class FixFunction : public Mutator { 23 24 typedef Mutator Parent; -
src/SymTab/Validate.cc
r413f7f8 r82dd287 60 60 class HoistStruct : public Visitor { 61 61 public: 62 /// Flattens nested struct types 62 63 static void hoistStruct( std::list< Declaration * > &translationUnit ); 63 64 … … 84 85 }; 85 86 87 /// Replaces enum types by int, and function or array types in function parameter and return lists by appropriate pointers 86 88 class Pass1 : public Visitor { 87 89 typedef Visitor Parent; … … 89 91 virtual void visit( FunctionType *func ); 90 92 }; 91 93 94 /// Associates forward declarations of aggregates with their definitions 92 95 class Pass2 : public Indexer { 93 96 typedef Indexer Parent; … … 110 113 }; 111 114 115 /// Replaces array and function types in forall lists by appropriate pointer type 112 116 class Pass3 : public Indexer { 113 117 typedef Indexer Parent; … … 123 127 class AddStructAssignment : public Visitor { 124 128 public: 129 /// Generates assignment operators for aggregate types as required 125 130 static void addStructAssignment( std::list< Declaration * > &translationUnit ); 126 131 … … 433 438 } 434 439 440 /// Fix up assertions 435 441 void forallFixer( Type *func ) { 436 // Fix up assertions437 442 for ( std::list< TypeDecl * >::iterator type = func->get_forall().begin(); type != func->get_forall().end(); ++type ) { 438 443 std::list< DeclarationWithType * > toBeDone, nextRound; -
src/SymTab/Validate.h
r413f7f8 r82dd287 23 23 class Indexer; 24 24 25 /// Normalizes struct and function declarations 25 26 void validate( std::list< Declaration * > &translationUnit, bool doDebug = false ); 26 27 void validateType( Type *type, const Indexer *indexer );
Note: See TracChangeset
for help on using the changeset viewer.