Changes in / [dfee306:85c4ef0]
- Location:
- src
- Files:
-
- 17 edited
-
CodeGen/FixNames.h (modified) (1 diff)
-
CodeGen/Generate.h (modified) (1 diff)
-
ControlStruct/CaseRangeMutator.h (modified) (1 diff)
-
ControlStruct/ChooseMutator.h (modified) (1 diff)
-
ControlStruct/LabelFixer.h (modified) (1 diff)
-
ControlStruct/Mutate.h (modified) (1 diff)
-
GenPoly/Box.cc (modified) (1 diff)
-
GenPoly/Box.h (modified) (1 diff)
-
GenPoly/CopyParams.h (modified) (1 diff)
-
GenPoly/Lvalue.h (modified) (1 diff)
-
GenPoly/Specialize.h (modified) (1 diff)
-
InitTweak/RemoveInit.h (modified) (1 diff)
-
ResolvExpr/Resolver.h (modified) (1 diff)
-
SymTab/FixFunction.h (modified) (1 diff)
-
SymTab/Validate.cc (modified) (6 diffs)
-
SymTab/Validate.h (modified) (1 diff)
-
SynTree/TypeSubstitution.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/FixNames.h
rdfee306 r85c4ef0 20 20 21 21 namespace CodeGen { 22 /// mangles object and function names23 22 void fixNames( std::list< Declaration* > translationUnit ); 24 23 } // namespace CodeGen -
src/CodeGen/Generate.h
rdfee306 r85c4ef0 23 23 24 24 namespace CodeGen { 25 /// Generates code26 25 void generate( std::list< Declaration* > translationUnit, std::ostream &os, bool doIntrinsics ); 27 26 } // namespace CodeGen -
src/ControlStruct/CaseRangeMutator.h
rdfee306 r85c4ef0 22 22 23 23 namespace ControlStruct { 24 /// expand case ranges and turn fallthru into a null statement25 24 class CaseRangeMutator : public Mutator { 26 25 public: -
src/ControlStruct/ChooseMutator.h
rdfee306 r85c4ef0 22 22 23 23 namespace ControlStruct { 24 /// transform choose statements into switch statements25 24 class ChooseMutator : public Mutator { 26 25 public: -
src/ControlStruct/LabelFixer.h
rdfee306 r85c4ef0 25 25 26 26 namespace ControlStruct { 27 /// normalizes label definitions and generates multi-level exit labels28 27 class LabelFixer : public Visitor { 29 28 typedef Visitor Parent; -
src/ControlStruct/Mutate.h
rdfee306 r85c4ef0 23 23 24 24 namespace ControlStruct { 25 /// Desugars Cforall control structures26 25 void mutate( std::list< Declaration* > translationUnit ); 27 26 } // namespace ControlStruct -
src/GenPoly/Box.cc
rdfee306 r85c4ef0 204 204 } 205 205 206 DeclarationWithType *Pass1::mutate( FunctionDecl *functionDecl ) { 206 DeclarationWithType * 207 Pass1::mutate( FunctionDecl *functionDecl ) { 207 208 if ( functionDecl->get_statements() ) { 208 209 TyVarMap oldtyVars = scopeTyVars; -
src/GenPoly/Box.h
rdfee306 r85c4ef0 21 21 22 22 namespace GenPoly { 23 /// boxes polymorphic function calls24 23 void box( std::list< Declaration* >& translationUnit ); 25 24 } // namespace GenPoly -
src/GenPoly/CopyParams.h
rdfee306 r85c4ef0 20 20 21 21 namespace GenPoly { 22 /// Clones by-value parameters which have been passed by-reference for polymorphism23 22 void copyParams( std::list< Declaration* > &translationUnit ); 24 23 } // namespace GenPoly -
src/GenPoly/Lvalue.h
rdfee306 r85c4ef0 22 22 23 23 namespace GenPoly { 24 /// replaces return type of `lvalue T` with `T*`, along with appropriate address-of and dereference operators25 24 void convertLvalue( std::list< Declaration* >& translationUnit ); 26 25 } // namespace GenPoly -
src/GenPoly/Specialize.h
rdfee306 r85c4ef0 22 22 23 23 namespace GenPoly { 24 /// generates thunks where needed25 24 void convertSpecializations( std::list< Declaration* >& translationUnit ); 26 25 } // namespace GenPoly -
src/InitTweak/RemoveInit.h
rdfee306 r85c4ef0 25 25 26 26 namespace InitTweak { 27 /// Adds assignment statements for polymorphic type initializers28 27 void tweak( std::list< Declaration * > translationUnit ); 29 28 -
src/ResolvExpr/Resolver.h
rdfee306 r85c4ef0 21 21 22 22 namespace ResolvExpr { 23 /// Checks types and binds syntactic constructs to typed representations24 23 void resolve( std::list< Declaration * > translationUnit ); 25 24 Expression *resolveInVoidContext( Expression *expr, const SymTab::Indexer &indexer ); -
src/SymTab/FixFunction.h
rdfee306 r85c4ef0 20 20 21 21 namespace SymTab { 22 /// Replaces function and array types by equivalent pointer types.23 22 class FixFunction : public Mutator { 24 23 typedef Mutator Parent; -
src/SymTab/Validate.cc
rdfee306 r85c4ef0 60 60 class HoistStruct : public Visitor { 61 61 public: 62 /// Flattens nested struct types63 62 static void hoistStruct( std::list< Declaration * > &translationUnit ); 64 63 … … 85 84 }; 86 85 87 /// Replaces enum types by int, and function or array types in function parameter and return lists by appropriate pointers88 86 class Pass1 : public Visitor { 89 87 typedef Visitor Parent; … … 91 89 virtual void visit( FunctionType *func ); 92 90 }; 93 94 /// Associates forward declarations of aggregates with their definitions 91 95 92 class Pass2 : public Indexer { 96 93 typedef Indexer Parent; … … 113 110 }; 114 111 115 /// Replaces array and function types in forall lists by appropriate pointer type116 112 class Pass3 : public Indexer { 117 113 typedef Indexer Parent; … … 127 123 class AddStructAssignment : public Visitor { 128 124 public: 129 /// Generates assignment operators for aggregate types as required130 125 static void addStructAssignment( std::list< Declaration * > &translationUnit ); 131 126 … … 449 444 } 450 445 451 /// Fix up assertions452 446 void forallFixer( Type *func ) { 447 // Fix up assertions 453 448 for ( std::list< TypeDecl * >::iterator type = func->get_forall().begin(); type != func->get_forall().end(); ++type ) { 454 449 std::list< DeclarationWithType * > toBeDone, nextRound; -
src/SymTab/Validate.h
rdfee306 r85c4ef0 23 23 class Indexer; 24 24 25 /// Normalizes struct and function declarations26 25 void validate( std::list< Declaration * > &translationUnit, bool doDebug = false ); 27 26 void validateType( Type *type, const Indexer *indexer ); -
src/SynTree/TypeSubstitution.h
rdfee306 r85c4ef0 157 157 } 158 158 159 /// Instantiate each member of the context given the actual parameters specified, and store the 160 /// instantiations for use by the indexer 159 // helper function 161 160 template< typename FormalIterator, typename ActualIterator, typename MemberIterator, typename OutputIterator > 162 161 void applySubstitution( FormalIterator formalBegin, FormalIterator formalEnd, ActualIterator actual, MemberIterator memberBegin, MemberIterator memberEnd, OutputIterator out ) { 162 // Instantiate each member of the context given the actual parameters specified, and store the 163 // instantiations for use by the indexer 164 163 165 TypeSubstitution sub = TypeSubstitution( formalBegin, formalEnd, actual ); 164 166 for ( std::list< Declaration* >::iterator i = memberBegin; i != memberEnd; ++i ) {
Note:
See TracChangeset
for help on using the changeset viewer.