Changes in src/main.cc [5ee153d:9f5a19fa]
- File:
-
- 1 edited
-
src/main.cc (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/main.cc
r5ee153d r9f5a19fa 9 9 // Author : Peter Buhr and Rob Schluntz 10 10 // Created On : Fri May 15 23:12:02 2015 11 // Last Modified By : Andrew Beach12 // Last Modified On : Mon Nov 8 11:42:00202113 // Update Count : 65 611 // Last Modified By : Henry Xue 12 // Last Modified On : Mon Aug 23 15:42:08 2021 13 // Update Count : 650 14 14 // 15 15 … … 43 43 #include "Common/CodeLocationTools.hpp" // for forceFillCodeLocations 44 44 #include "Common/CompilerError.h" // for CompilerError 45 #include "Common/DeclStats.hpp" // for printDeclStats46 #include "Common/ResolvProtoDump.hpp" // for dumpAsResolverProto47 45 #include "Common/Stats.h" 48 46 #include "Common/PassVisitor.h" … … 53 51 #include "ControlStruct/ExceptDecl.h" // for translateExcept 54 52 #include "ControlStruct/ExceptTranslate.h" // for translateEHM 55 #include "ControlStruct/FixLabels.hpp" // for fixLabels56 53 #include "ControlStruct/Mutate.h" // for mutate 57 54 #include "GenPoly/Box.h" // for box … … 334 331 } // if 335 332 333 PASS( "Translate Throws", ControlStruct::translateThrows( translationUnit ) ); 334 PASS( "Fix Labels", ControlStruct::fixLabels( translationUnit ) ); 335 PASS( "Fix Names", CodeGen::fixNames( translationUnit ) ); 336 PASS( "Gen Init", InitTweak::genInit( translationUnit ) ); 337 338 if ( libcfap ) { 339 // generate the bodies of cfa library functions 340 LibCfa::makeLibCfa( translationUnit ); 341 } // if 342 343 if ( declstatsp ) { 344 CodeTools::printDeclStats( translationUnit ); 345 deleteAll( translationUnit ); 346 return EXIT_SUCCESS; 347 } // if 348 349 if ( bresolvep ) { 350 dump( translationUnit ); 351 return EXIT_SUCCESS; 352 } // if 353 336 354 CodeTools::fillLocations( translationUnit ); 355 356 if ( resolvprotop ) { 357 CodeTools::dumpAsResolvProto( translationUnit ); 358 return EXIT_SUCCESS; 359 } // if 337 360 338 361 if( useNewAST ) { … … 343 366 auto transUnit = convert( move( translationUnit ) ); 344 367 345 forceFillCodeLocations( transUnit );346 347 PASS( "Translate Throws", ControlStruct::translateThrows( transUnit ) );348 PASS( "Fix Labels", ControlStruct::fixLabels( transUnit ) );349 PASS( "Fix Names", CodeGen::fixNames( transUnit ) );350 PASS( "Gen Init", InitTweak::genInit( transUnit ) );351 368 PASS( "Expand Member Tuples" , Tuples::expandMemberTuples( transUnit ) ); 352 353 if ( libcfap ) { 354 // Generate the bodies of cfa library functions. 355 LibCfa::makeLibCfa( transUnit ); 356 } // if 357 358 if ( declstatsp ) { 359 printDeclStats( transUnit ); 360 return EXIT_SUCCESS; 361 } // if 362 363 if ( bresolvep ) { 364 dump( move( transUnit ) ); 365 return EXIT_SUCCESS; 366 } // if 367 368 if ( resolvprotop ) { 369 dumpAsResolverProto( transUnit ); 370 return EXIT_SUCCESS; 371 } // if 372 369 373 370 PASS( "Resolve", ResolvExpr::resolve( transUnit ) ); 374 371 if ( exprp ) { … … 380 377 381 378 PASS( "Fix Init", InitTweak::fix(transUnit, buildingLibrary())); 382 383 379 translationUnit = convert( move( transUnit ) ); 384 380 } else { 385 PASS( "Translate Throws", ControlStruct::translateThrows( translationUnit ) );386 PASS( "Fix Labels", ControlStruct::fixLabels( translationUnit ) );387 PASS( "Fix Names", CodeGen::fixNames( translationUnit ) );388 PASS( "Gen Init", InitTweak::genInit( translationUnit ) );389 381 PASS( "Expand Member Tuples" , Tuples::expandMemberTuples( translationUnit ) ); 390 391 if ( libcfap ) {392 // Generate the bodies of cfa library functions.393 LibCfa::makeLibCfa( translationUnit );394 } // if395 396 if ( declstatsp ) {397 CodeTools::printDeclStats( translationUnit );398 deleteAll( translationUnit );399 return EXIT_SUCCESS;400 } // if401 402 if ( bresolvep ) {403 dump( translationUnit );404 return EXIT_SUCCESS;405 } // if406 407 CodeTools::fillLocations( translationUnit );408 409 if ( resolvprotop ) {410 CodeTools::dumpAsResolvProto( translationUnit );411 return EXIT_SUCCESS;412 } // if413 382 414 383 PASS( "Resolve", ResolvExpr::resolve( translationUnit ) ); … … 474 443 PASS( "Code Gen", CodeGen::generate( translationUnit, *output, ! genproto, prettycodegenp, true, linemarks ) ); 475 444 476 CodeGen::FixMain::fix( translationUnit, *output, 477 (PreludeDirector + "/bootloader.c").c_str() ); 445 CodeGen::FixMain::fix( *output, (PreludeDirector + "/bootloader.c").c_str() ); 478 446 if ( output != &cout ) { 479 447 delete output;
Note:
See TracChangeset
for help on using the changeset viewer.