Changes in / [42b0d73:436c0de]
- Files:
-
- 10 edited
-
doc/rob_thesis/intro.tex (modified) (2 diffs)
-
doc/rob_thesis/thesis.tex (modified) (1 diff)
-
src/GenPoly/Box.cc (modified) (1 diff)
-
src/GenPoly/CopyParams.cc (modified) (1 diff)
-
src/GenPoly/DeclMutator.cc (modified) (14 diffs)
-
src/GenPoly/Lvalue.cc (modified) (1 diff)
-
src/InitTweak/FixGlobalInit.cc (modified) (1 diff)
-
src/InitTweak/GenInit.cc (modified) (2 diffs)
-
src/SymTab/Validate.cc (modified) (2 diffs)
-
src/SynTree/Attribute.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
doc/rob_thesis/intro.tex
r42b0d73 r436c0de 3 3 %====================================================================== 4 4 5 \section{\ CFA Background}5 \section{\protect\CFA Background} 6 6 \label{s:background} 7 7 \CFA \footnote{Pronounced ``C-for-all'', and written \CFA or Cforall.} is a modern non-object-oriented extension to the C programming language. … … 370 370 \end{tabular} 371 371 \end{center} 372 \caption{\label{table:types} The different kinds of type parameters in \ CFA}372 \caption{\label{table:types} The different kinds of type parameters in \protect\CFA} 373 373 \end{table} 374 374 -
doc/rob_thesis/thesis.tex
r42b0d73 r436c0de 66 66 % ,monochrome % toggle black and white mode 67 67 }{xcolor} 68 \PassOptionsToPackage{pdftex}{graphicx} 68 69 \documentclass[letterpaper,12pt,titlepage,oneside,final]{book} 69 70 -
src/GenPoly/Box.cc
r42b0d73 r436c0de 62 62 namespace GenPoly { 63 63 namespace { 64 const std::list<Label> noLabels;65 66 64 FunctionType *makeAdapterType( FunctionType *adaptee, const TyVarMap &tyVars ); 67 65 -
src/GenPoly/CopyParams.cc
r42b0d73 r436c0de 45 45 46 46 CopyParams::CopyParams() : namer( "_cp" ) {} 47 48 static const std::list< Label > noLabels;49 47 50 48 void CopyParams::visit( FunctionDecl *funcDecl ) { -
src/GenPoly/DeclMutator.cc
r42b0d73 r436c0de 20 20 21 21 namespace GenPoly { 22 namespace {23 const std::list<Label> noLabels;24 }25 26 22 DeclMutator::DeclMutator() : Mutator(), declsToAdd(1), declsToAddAfter(1) {} 27 23 28 24 DeclMutator::~DeclMutator() {} 29 25 30 26 void DeclMutator::mutateDeclarationList( std::list< Declaration* > &decls ) { 31 27 for ( std::list< Declaration* >::iterator decl = decls.begin(); ; ++decl ) { … … 34 30 35 31 if ( decl == decls.end() ) break; 36 32 37 33 // run mutator on declaration 38 34 *decl = maybeMutate( *decl, *this ); … … 55 51 newBack->splice( newBack->end(), *back ); 56 52 declsToAdd.pop_back(); 57 53 58 54 back = declsToAddAfter.rbegin(); 59 55 newBack = back + 1; … … 66 62 CompoundStmt *compoundStmt = dynamic_cast< CompoundStmt* >(stmt); 67 63 if ( compoundStmt ) return mutate( compoundStmt ); 68 64 69 65 doBeginScope(); 70 66 71 67 // run mutator on statement 72 68 stmt = maybeMutate( stmt, *this ); … … 102 98 doBeginScope(); 103 99 104 100 105 101 for ( std::list< Statement* >::iterator stmt = stmts.begin(); ; ++stmt ) { 106 102 // add any new declarations after the previous statement … … 112 108 113 109 if ( stmt == stmts.end() ) break; 114 110 115 111 // run mutator on statement 116 112 *stmt = maybeMutate( *stmt, *this ); … … 123 119 declsToAdd.back().clear(); 124 120 } 125 121 126 122 doEndScope(); 127 123 } … … 139 135 return compoundStmt; 140 136 } 141 137 142 138 Statement* DeclMutator::mutate(IfStmt *ifStmt) { 143 139 ifStmt->set_condition( maybeMutate( ifStmt->get_condition(), *this ) ); … … 146 142 return ifStmt; 147 143 } 148 144 149 145 Statement* DeclMutator::mutate(WhileStmt *whileStmt) { 150 146 whileStmt->set_condition( maybeMutate( whileStmt->get_condition(), *this ) ); … … 152 148 return whileStmt; 153 149 } 154 150 155 151 Statement* DeclMutator::mutate(ForStmt *forStmt) { 156 152 mutateAll( forStmt->get_initialization(), *this ); … … 160 156 return forStmt; 161 157 } 162 158 163 159 Statement* DeclMutator::mutate(SwitchStmt *switchStmt) { 164 160 switchStmt->set_condition( maybeMutate( switchStmt->get_condition(), *this ) ); … … 166 162 return switchStmt; 167 163 } 168 164 169 165 Statement* DeclMutator::mutate(CaseStmt *caseStmt) { 170 166 caseStmt->set_condition( maybeMutate( caseStmt->get_condition(), *this ) ); … … 172 168 return caseStmt; 173 169 } 174 170 175 171 Statement* DeclMutator::mutate(TryStmt *tryStmt) { 176 172 tryStmt->set_block( maybeMutate( tryStmt->get_block(), *this ) ); … … 179 175 return tryStmt; 180 176 } 181 177 182 178 Statement* DeclMutator::mutate(CatchStmt *catchStmt) { 183 179 catchStmt->set_decl( maybeMutate( catchStmt->get_decl(), *this ) ); -
src/GenPoly/Lvalue.cc
r42b0d73 r436c0de 35 35 namespace GenPoly { 36 36 namespace { 37 const std::list<Label> noLabels;38 39 37 /// Replace uses of lvalue returns with appropriate pointers 40 38 class Pass1 : public Mutator { -
src/InitTweak/FixGlobalInit.cc
r42b0d73 r436c0de 26 26 27 27 namespace InitTweak { 28 namespace {29 const std::list<Label> noLabels;30 }31 32 28 class GlobalFixer : public Visitor { 33 29 public: -
src/InitTweak/GenInit.cc
r42b0d73 r436c0de 21 21 22 22 #include "Common/PassVisitor.h" 23 24 #include "GenPoly/DeclMutator.h" 25 #include "GenPoly/PolyMutator.h" 26 #include "GenPoly/ScopedSet.h" 27 28 #include "ResolvExpr/typeops.h" 23 29 24 30 #include "SynTree/Declaration.h" … … 31 37 #include "SymTab/Autogen.h" 32 38 #include "SymTab/Mangler.h" 33 34 #include "GenPoly/DeclMutator.h"35 #include "GenPoly/PolyMutator.h"36 #include "GenPoly/ScopedSet.h"37 38 #include "ResolvExpr/typeops.h"39 39 40 40 namespace InitTweak { -
src/SymTab/Validate.cc
r42b0d73 r436c0de 66 66 #include "ResolvExpr/typeops.h" 67 67 68 #include "SynTree/Attribute.h" 68 69 #include "SynTree/Expression.h" 69 70 #include "SynTree/Mutator.h" … … 927 928 ret->set_name( toString( "_retval_", CodeGen::genName( functionDecl ) ) ); 928 929 } 930 ret->get_attributes().push_back( new Attribute( "unused" ) ); 929 931 } 930 932 } -
src/SynTree/Attribute.h
r42b0d73 r436c0de 40 40 }; 41 41 42 const std::list< Attribute * > noAttributes; 43 42 44 #endif 43 45
Note:
See TracChangeset
for help on using the changeset viewer.