Changeset def751f for src/main.cc
- Timestamp:
- Jul 25, 2022, 3:17:25 PM (3 years ago)
- Branches:
- ADT, ast-experimental, master, pthread-emulation, qualifiedEnum
- Children:
- b0d9ff7
- Parents:
- 4e2befe3 (diff), ffec1bf (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/main.cc
r4e2befe3 rdef751f 10 10 // Created On : Fri May 15 23:12:02 2015 11 11 // Last Modified By : Andrew Beach 12 // Last Modified On : Tue Jul 12 12:02:00 202213 // Update Count : 67 512 // Last Modified On : Mon Jul 18 11:08:00 2022 13 // Update Count : 676 14 14 // 15 15 … … 330 330 Stats::Time::StopBlock(); 331 331 332 PASS( "Translate Exception Declarations", ControlStruct::translateExcept( translationUnit ) );333 if ( exdeclp ) {334 dump( translationUnit );335 return EXIT_SUCCESS;336 } // if337 338 CodeTools::fillLocations( translationUnit );339 340 332 if( useNewAST ) { 341 CodeTools::fillLocations( translationUnit );342 343 333 if (Stats::Counters::enabled) { 344 334 ast::pass_visitor_stats.avg = Stats::Counters::build<Stats::Counters::AverageCounter<double>>("Average Depth - New"); … … 349 339 forceFillCodeLocations( transUnit ); 350 340 351 // Must happen before auto-gen, or anything that examines ops. 341 PASS( "Translate Exception Declarations", ControlStruct::translateExcept( transUnit ) ); 342 if ( exdeclp ) { 343 dump( move( transUnit ) ); 344 return EXIT_SUCCESS; 345 } 346 352 347 PASS( "Verify Ctor, Dtor & Assign", Validate::verifyCtorDtorAssign( transUnit ) ); 353 354 348 PASS( "Hoist Type Decls", Validate::hoistTypeDecls( transUnit ) ); 355 349 // Hoist Type Decls pulls some declarations out of contexts where … … 359 353 360 354 PASS( "Replace Typedefs", Validate::replaceTypedef( transUnit ) ); 361 362 // Must happen before auto-gen.363 355 PASS( "Fix Return Types", Validate::fixReturnTypes( transUnit ) ); 364 365 // Must happen before Link Reference to Types, it needs correct366 // types for mangling.367 356 PASS( "Enum and Pointer Decay", Validate::decayEnumsAndPointers( transUnit ) ); 368 357 369 // Must happen before auto-gen, because it uses the sized flag.370 358 PASS( "Link Reference To Types", Validate::linkReferenceToTypes( transUnit ) ); 371 359 372 // Must happen after Link References To Types,373 // because aggregate members are accessed.374 360 PASS( "Fix Qualified Types", Validate::fixQualifiedTypes( transUnit ) ); 375 376 361 PASS( "Hoist Struct", Validate::hoistStruct( transUnit ) ); 377 362 PASS( "Eliminate Typedef", Validate::eliminateTypedef( transUnit ) ); 378 379 // Check as early as possible. Can't happen before380 // LinkReferenceToType, observed failing when attempted381 // before eliminateTypedef382 363 PASS( "Validate Generic Parameters", Validate::fillGenericParameters( transUnit ) ); 383 384 364 PASS( "Translate Dimensions", Validate::translateDimensionParameters( transUnit ) ); 385 365 PASS( "Check Function Returns", Validate::checkReturnStatements( transUnit ) ); 386 387 // Must happen before Autogen.388 366 PASS( "Fix Return Statements", InitTweak::fixReturnStatements( transUnit ) ); 389 390 367 PASS( "Implement Concurrent Keywords", Concurrency::implementKeywords( transUnit ) ); 391 392 // Must be after implement concurrent keywords; because uniqueIds393 // must be set on declaration before resolution.394 // Must happen before autogen routines are added.395 368 PASS( "Forall Pointer Decay", Validate::decayForallPointers( transUnit ) ); 396 397 // Must happen before autogen routines are added.398 369 PASS( "Hoist Control Declarations", ControlStruct::hoistControlDecls( transUnit ) ); 399 370 400 // Must be after enum and pointer decay.401 // Must be before compound literals.402 371 PASS( "Generate Autogen Routines", Validate::autogenerateRoutines( transUnit ) ); 403 372 … … 470 439 PASS( "Translate Tries", ControlStruct::translateTries( transUnit ) ); 471 440 PASS( "Gen Waitfor", Concurrency::generateWaitFor( transUnit ) ); 441 PASS( "Convert Specializations", GenPoly::convertSpecializations( transUnit ) ); // needs to happen before tuple types are expanded 442 472 443 473 444 translationUnit = convert( move( transUnit ) ); 474 445 } else { 446 PASS( "Translate Exception Declarations", ControlStruct::translateExcept( translationUnit ) ); 447 if ( exdeclp ) { 448 dump( translationUnit ); 449 return EXIT_SUCCESS; 450 } // if 451 475 452 // add the assignment statement after the initialization of a type parameter 476 453 PASS( "Validate", SymTab::validate( translationUnit ) ); … … 538 515 PASS( "Translate Tries", ControlStruct::translateTries( translationUnit ) ); 539 516 PASS( "Gen Waitfor", Concurrency::generateWaitFor( translationUnit ) ); 517 PASS( "Convert Specializations", GenPoly::convertSpecializations( translationUnit ) ); // needs to happen before tuple types are expanded 518 540 519 } 541 520 542 PASS( "Convert Specializations", GenPoly::convertSpecializations( translationUnit ) ); // needs to happen before tuple types are expanded 521 522 // PASS( "Convert Specializations", GenPoly::convertSpecializations( translationUnit ) ); // needs to happen before tuple types are expanded 543 523 544 524 PASS( "Expand Tuples", Tuples::expandTuples( translationUnit ) ); // xxx - is this the right place for this?
Note:
See TracChangeset
for help on using the changeset viewer.