Changes in src/main.cc [9f5a19fa:5ee153d]
- File:
-
- 1 edited
-
src/main.cc (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/main.cc
r9f5a19fa r5ee153d 9 9 // Author : Peter Buhr and Rob Schluntz 10 10 // Created On : Fri May 15 23:12:02 2015 11 // Last Modified By : Henry Xue12 // Last Modified On : Mon Aug 23 15:42:08202113 // Update Count : 65 011 // Last Modified By : Andrew Beach 12 // Last Modified On : Mon Nov 8 11:42:00 2021 13 // Update Count : 656 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 printDeclStats 46 #include "Common/ResolvProtoDump.hpp" // for dumpAsResolverProto 45 47 #include "Common/Stats.h" 46 48 #include "Common/PassVisitor.h" … … 51 53 #include "ControlStruct/ExceptDecl.h" // for translateExcept 52 54 #include "ControlStruct/ExceptTranslate.h" // for translateEHM 55 #include "ControlStruct/FixLabels.hpp" // for fixLabels 53 56 #include "ControlStruct/Mutate.h" // for mutate 54 57 #include "GenPoly/Box.h" // for box … … 331 334 } // if 332 335 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 functions340 LibCfa::makeLibCfa( translationUnit );341 } // if342 343 if ( declstatsp ) {344 CodeTools::printDeclStats( translationUnit );345 deleteAll( translationUnit );346 return EXIT_SUCCESS;347 } // if348 349 if ( bresolvep ) {350 dump( translationUnit );351 return EXIT_SUCCESS;352 } // if353 354 336 CodeTools::fillLocations( translationUnit ); 355 356 if ( resolvprotop ) {357 CodeTools::dumpAsResolvProto( translationUnit );358 return EXIT_SUCCESS;359 } // if360 337 361 338 if( useNewAST ) { … … 366 343 auto transUnit = convert( move( translationUnit ) ); 367 344 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 ) ); 368 351 PASS( "Expand Member Tuples" , Tuples::expandMemberTuples( transUnit ) ); 369 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 370 373 PASS( "Resolve", ResolvExpr::resolve( transUnit ) ); 371 374 if ( exprp ) { … … 377 380 378 381 PASS( "Fix Init", InitTweak::fix(transUnit, buildingLibrary())); 382 379 383 translationUnit = convert( move( transUnit ) ); 380 384 } 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 ) ); 381 389 PASS( "Expand Member Tuples" , Tuples::expandMemberTuples( translationUnit ) ); 390 391 if ( libcfap ) { 392 // Generate the bodies of cfa library functions. 393 LibCfa::makeLibCfa( translationUnit ); 394 } // if 395 396 if ( declstatsp ) { 397 CodeTools::printDeclStats( translationUnit ); 398 deleteAll( translationUnit ); 399 return EXIT_SUCCESS; 400 } // if 401 402 if ( bresolvep ) { 403 dump( translationUnit ); 404 return EXIT_SUCCESS; 405 } // if 406 407 CodeTools::fillLocations( translationUnit ); 408 409 if ( resolvprotop ) { 410 CodeTools::dumpAsResolvProto( translationUnit ); 411 return EXIT_SUCCESS; 412 } // if 382 413 383 414 PASS( "Resolve", ResolvExpr::resolve( translationUnit ) ); … … 443 474 PASS( "Code Gen", CodeGen::generate( translationUnit, *output, ! genproto, prettycodegenp, true, linemarks ) ); 444 475 445 CodeGen::FixMain::fix( *output, (PreludeDirector + "/bootloader.c").c_str() ); 476 CodeGen::FixMain::fix( translationUnit, *output, 477 (PreludeDirector + "/bootloader.c").c_str() ); 446 478 if ( output != &cout ) { 447 479 delete output;
Note:
See TracChangeset
for help on using the changeset viewer.