Changeset ff29f08 for src/CodeGen
- Timestamp:
- May 18, 2018, 2:09:21 PM (7 years ago)
- Branches:
- new-env, with_gc
- Children:
- 2472a19
- Parents:
- f6f0cca3 (diff), c7d8100c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- src/CodeGen
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.cc
rf6f0cca3 rff29f08 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : S un Sep 3 20:42:52 201713 // Update Count : 49 012 // Last Modified On : Sat May 5 09:08:32 2018 13 // Update Count : 494 14 14 // 15 15 #include "CodeGenerator.h" … … 370 370 371 371 void CodeGenerator::postvisit( Constant * constant ) { 372 output << constant->get_value() 372 output << constant->get_value(); 373 373 } 374 374 … … 587 587 output << "("; 588 588 if ( castExpr->get_result()->isVoid() ) { 589 output << "(void)" 589 output << "(void)"; 590 590 } else { 591 591 // at least one result type of cast. … … 878 878 } // for 879 879 } // if 880 output << " );" 880 output << " );"; 881 881 } 882 882 … … 886 886 output << "( "; 887 887 if ( asmStmt->get_instruction() ) asmStmt->get_instruction()->accept( *visitor ); 888 output << " )" ; 888 output << " )"; 889 } 890 891 void CodeGenerator::postvisit( DirectiveStmt * dirStmt ) { 892 output << endl << dirStmt->directive; // endl prevents spaces before directive 889 893 } 890 894 … … 903 907 904 908 void CodeGenerator::postvisit( SwitchStmt * switchStmt ) { 905 output << "switch ( " 909 output << "switch ( "; 906 910 switchStmt->get_condition()->accept( *visitor ); 907 911 output << " ) "; … … 929 933 ++indent; 930 934 for ( std::list<Statement *>::iterator i = sts.begin(); i != sts.end(); i++) { 931 output << indent << printLabels( (*i)->get_labels() ) 935 output << indent << printLabels( (*i)->get_labels() ) ; 932 936 (*i)->accept( *visitor ); 933 937 output << endl; … … 1066 1070 void CodeGenerator::postvisit( WhileStmt * whileStmt ) { 1067 1071 if ( whileStmt->get_isDoWhile() ) { 1068 output << "do" 1069 } else { 1070 output << "while (" 1072 output << "do"; 1073 } else { 1074 output << "while ("; 1071 1075 whileStmt->get_condition()->accept( *visitor ); 1072 1076 output << ")"; … … 1080 1084 1081 1085 if ( whileStmt->get_isDoWhile() ) { 1082 output << " while (" 1086 output << " while ("; 1083 1087 whileStmt->get_condition()->accept( *visitor ); 1084 1088 output << ");"; -
src/CodeGen/CodeGenerator.h
rf6f0cca3 rff29f08 99 99 void postvisit( ExprStmt * ); 100 100 void postvisit( AsmStmt * ); 101 void postvisit( DirectiveStmt * ); 101 102 void postvisit( AsmDecl * ); // special: statement in declaration context 102 103 void postvisit( IfStmt * ); -
src/CodeGen/FixNames.cc
rf6f0cca3 rff29f08 55 55 auto && name = SymTab::Mangler::mangle( mainDecl ); 56 56 // std::cerr << name << std::endl; 57 return name;57 return std::move(name); 58 58 } 59 59 std::string mangle_main_args() { … … 78 78 auto&& name = SymTab::Mangler::mangle( mainDecl ); 79 79 // std::cerr << name << std::endl; 80 return name;80 return std::move(name); 81 81 } 82 82
Note:
See TracChangeset
for help on using the changeset viewer.