Changes in src/CodeGen/CodeGenerator.h [afc1045:888cbe4]
- File:
-
- 1 edited
-
src/CodeGen/CodeGenerator.h (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.h
rafc1045 r888cbe4 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // CodeGenerator.h -- 7 // CodeGenerator.h -- 8 8 // 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Mar 2 17:32:24201613 // Update Count : 2 812 // Last Modified On : Thu Jun 9 13:15:58 2016 13 // Update Count : 29 14 14 // 15 15 … … 60 60 virtual void visit( MemberExpr *memberExpr ); 61 61 virtual void visit( VariableExpr *variableExpr ); 62 virtual void visit( ConstantExpr *constantExpr ); 62 virtual void visit( ConstantExpr *constantExpr ); 63 63 virtual void visit( SizeofExpr *sizeofExpr ); 64 64 virtual void visit( AlignofExpr *alignofExpr ); … … 85 85 virtual void visit( ForStmt * ); 86 86 virtual void visit( NullStmt * ); 87 virtual void visit( DeclStmt * ); 87 virtual void visit( DeclStmt * ); 88 89 void genAttributes( std::list< Attribute * > & attributes ); 88 90 89 91 template< class Iterator > void genCommaList( Iterator begin, Iterator end ); … … 92 94 Indenter(CodeGenerator &cg) : cg(cg) {} 93 95 CodeGenerator & cg; 94 std::ostream& operator()(std::ostream & os) ;96 std::ostream& operator()(std::ostream & os) const; 95 97 }; 98 99 struct LabelPrinter { 100 LabelPrinter(CodeGenerator &cg) : cg(cg), labels( 0 ) {} 101 LabelPrinter & operator()( std::list< Label > & l ); 102 CodeGenerator & cg; 103 std::list< Label > * labels; 104 }; 105 106 void extension( Expression *expr ) { 107 if ( expr->get_extension() ) { 108 output << "__extension__ "; 109 } // if 110 } // extension 96 111 private: 97 112 … … 100 115 bool insideFunction; 101 116 std::ostream &output; 117 LabelPrinter printLabels; 102 118 103 119 void printDesignators( std::list< Expression * > & ); 104 static std::string printLabels ( std::list < Label > & );105 120 void handleStorageClass( Declaration *decl ); 106 121 void handleAggregate( AggregateDecl *aggDecl ); … … 108 123 109 124 }; 110 125 111 126 template< class Iterator > 112 127 void CodeGenerator::genCommaList( Iterator begin, Iterator end ) { … … 119 134 } // for 120 135 } 121 136 122 137 inline bool doSemicolon( Declaration* decl ) { 123 138 if ( FunctionDecl* func = dynamic_cast< FunctionDecl* >( decl ) ) {
Note:
See TracChangeset
for help on using the changeset viewer.