Changeset be8bd88 for src/CodeGen/CodeGenerator.cc
- Timestamp:
- Mar 8, 2017, 3:22:50 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 031a2c95, 0e7ea335
- Parents:
- 87c3bef (diff), 6363ad1 (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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.cc
r87c3bef rbe8bd88 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Feb 16 14:56:29201713 // Update Count : 4 1812 // Last Modified On : Sun Mar 5 17:13:33 2017 13 // Update Count : 475 14 14 // 15 15 … … 134 134 135 135 handleStorageClass( functionDecl ); 136 if ( functionDecl->get_isInline() ) { 137 output << "inline "; 138 } // if 139 if ( functionDecl->get_isNoreturn() ) { 140 output << "_Noreturn "; 141 } // if 136 DeclarationNode::print_FuncSpec( output, functionDecl->get_funcSpec() ); 137 142 138 output << genType( functionDecl->get_functionType(), mangleName( functionDecl ), pretty ); 143 139 … … 835 831 } 836 832 837 838 833 void CodeGenerator::visit( ReturnStmt * returnStmt ) { 839 834 output << "return "; … … 899 894 } 900 895 901 void CodeGenerator::handleStorageClass( Declaration * decl ) { 902 switch ( decl->get_storageClass() ) { 903 case DeclarationNode::Extern: 904 output << "extern "; 905 break; 906 case DeclarationNode::Static: 907 output << "static "; 908 break; 909 case DeclarationNode::Auto: 910 // silently drop storage class 911 break; 912 case DeclarationNode::Register: 913 output << "register "; 914 break; 915 case DeclarationNode::Inline: 916 output << "inline "; 917 break; 918 case DeclarationNode::Fortran: 919 output << "fortran "; 920 break; 921 case DeclarationNode::Noreturn: 922 output << "_Noreturn "; 923 break; 924 case DeclarationNode::Threadlocal: 925 output << "_Thread_local "; 926 break; 927 case DeclarationNode::NoStorageClass: 928 break; 929 } // switch 930 } 896 void CodeGenerator::handleStorageClass( DeclarationWithType * decl ) { 897 if ( decl->get_storageClasses().any() ) { 898 DeclarationNode::print_StorageClass( output, decl->get_storageClasses() ); 899 } // if 900 } // CodeGenerator::handleStorageClass 931 901 932 902 std::string genName( DeclarationWithType * decl ) {
Note: See TracChangeset
for help on using the changeset viewer.