Changeset 51587aa for translator/CodeGen/Generate.cc
- Timestamp:
- May 18, 2015, 11:45:33 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:
- 01aeade
- Parents:
- 0dd3a2f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
translator/CodeGen/Generate.cc
r0dd3a2f r51587aa 1 // 2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo 3 // 4 // The contents of this file are covered under the licence agreement in the 5 // file "LICENCE" distributed with Cforall. 6 // 7 // Generate.cc -- 8 // 9 // Author : Richard C. Bilson 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon May 18 23:39:24 2015 13 // Update Count : 1 14 // 15 1 16 #include <algorithm> 2 17 #include <iostream> … … 12 27 13 28 namespace CodeGen { 14 15 CodeGen::CodeGenerator2 cgv( os );29 void generate( std::list< Declaration* > translationUnit, std::ostream &os, bool doIntrinsics ) { 30 CodeGen::CodeGenerator2 cgv( os ); 16 31 17 for ( std::list<Declaration *>::iterator i = translationUnit.begin(); i != translationUnit.end(); i++ ) {18 19 (*i)->accept(cgv);20 cgv.shift_left();21 if ( doSemicolon( *i ) ) {22 23 } // if24 os << std::endl;25 26 } // for27 32 for ( std::list<Declaration *>::iterator i = translationUnit.begin(); i != translationUnit.end(); i++ ) { 33 if ( LinkageSpec::isGeneratable( (*i)->get_linkage() ) && (doIntrinsics || ! LinkageSpec::isBuiltin( (*i)->get_linkage() ) ) ) { 34 (*i)->accept(cgv); 35 cgv.shift_left(); 36 if ( doSemicolon( *i ) ) { 37 os << ";"; 38 } // if 39 os << std::endl; 40 } // if 41 } // for 42 } 28 43 } // namespace CodeGen 44 45 // Local Variables: // 46 // tab-width: 4 // 47 // mode: c++ // 48 // compile-command: "make install" // 49 // End: //
Note: See TracChangeset
for help on using the changeset viewer.