Changeset 5ebb2fbc for src/CodeGen
- Timestamp:
- Jan 18, 2017, 12:47:15 PM (9 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, stuck-waitfor-destruct, with_gc
- Children:
- e9e4e9ee
- Parents:
- f3b0a07 (diff), c49bf54 (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:
-
- 2 added
- 2 edited
-
FixMain.cc (added)
-
FixMain.h (added)
-
FixNames.cc (modified) (2 diffs)
-
module.mk (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/FixNames.cc
rf3b0a07 r5ebb2fbc 22 22 #include "SymTab/Mangler.h" 23 23 #include "OperatorTable.h" 24 25 extern std::unique_ptr<FunctionDecl> translation_unit_main_signature; 24 #include "FixMain.h" 26 25 27 26 namespace CodeGen { … … 119 118 120 119 if(is_main( SymTab::Mangler::mangle(functionDecl, true, true) )) { 121 if(translation_unit_main_signature) { 122 throw SemanticError("Multiple definition of main routine\n", functionDecl); 120 int nargs = functionDecl->get_functionType()->get_parameters().size(); 121 if( !(nargs == 0 || nargs == 2 || nargs == 3) ) { 122 throw SemanticError("Main expected to have 0, 2 or 3 arguments\n", functionDecl); 123 123 } 124 125 124 functionDecl->get_statements()->get_kids().push_back( new ReturnStmt( noLabels, new ConstantExpr( Constant( new BasicType( Type::Qualifiers(), BasicType::SignedInt ), "0") ) ) ); 126 translation_unit_main_signature.reset( functionDecl->clone());125 CodeGen::FixMain::registerMain( functionDecl ); 127 126 } 128 127 } -
src/CodeGen/module.mk
rf3b0a07 r5ebb2fbc 6 6 ## file "LICENCE" distributed with Cforall. 7 7 ## 8 ## module.mk -- 8 ## module.mk -- 9 9 ## 10 10 ## Author : Richard C. Bilson … … 22 22 CodeGen/GenType.cc \ 23 23 CodeGen/FixNames.cc \ 24 CodeGen/FixMain.cc \ 24 25 CodeGen/OperatorTable.cc
Note:
See TracChangeset
for help on using the changeset viewer.