Changes in src/CodeGen/CodeGenerator.h [888cbe4:afc1045]
- File:
-
- 1 edited
-
src/CodeGen/CodeGenerator.h (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.h
r888cbe4 rafc1045 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 : Thu Jun 9 13:15:58201613 // Update Count : 2 912 // Last Modified On : Wed Mar 2 17:32:24 2016 13 // Update Count : 28 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 * ); 88 89 void genAttributes( std::list< Attribute * > & attributes ); 87 virtual void visit( DeclStmt * ); 90 88 91 89 template< class Iterator > void genCommaList( Iterator begin, Iterator end ); … … 94 92 Indenter(CodeGenerator &cg) : cg(cg) {} 95 93 CodeGenerator & cg; 96 std::ostream& operator()(std::ostream & os) const;94 std::ostream& operator()(std::ostream & os); 97 95 }; 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 } // if110 } // extension111 96 private: 112 97 … … 115 100 bool insideFunction; 116 101 std::ostream &output; 117 LabelPrinter printLabels;118 102 119 103 void printDesignators( std::list< Expression * > & ); 104 static std::string printLabels ( std::list < Label > & ); 120 105 void handleStorageClass( Declaration *decl ); 121 106 void handleAggregate( AggregateDecl *aggDecl ); … … 123 108 124 109 }; 125 110 126 111 template< class Iterator > 127 112 void CodeGenerator::genCommaList( Iterator begin, Iterator end ) { … … 134 119 } // for 135 120 } 136 121 137 122 inline bool doSemicolon( Declaration* decl ) { 138 123 if ( FunctionDecl* func = dynamic_cast< FunctionDecl* >( decl ) ) {
Note:
See TracChangeset
for help on using the changeset viewer.