Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/main.cc

    r5f3ba11 r33b7d49  
    1010// Created On       : Fri May 15 23:12:02 2015
    1111// Last Modified By : Andrew Beach
    12 // Last Modified On : Tue Nov 30 10:25:00 2021
    13 // Update Count     : 659
     12// Last Modified On : Fri Mar 11 10:39:00 2022
     13// Update Count     : 671
    1414//
    1515
     
    5555#include "ControlStruct/ExceptTranslate.h"  // for translateEHM
    5656#include "ControlStruct/FixLabels.hpp"      // for fixLabels
     57#include "ControlStruct/HoistControlDecls.hpp" //  hoistControlDecls
    5758#include "ControlStruct/Mutate.h"           // for mutate
    5859#include "GenPoly/Box.h"                    // for box
     
    7374#include "SynTree/Visitor.h"                // for acceptAll
    7475#include "Tuples/Tuples.h"                  // for expandMemberTuples, expan...
     76#include "Validate/Autogen.hpp"             // for autogenerateRoutines
    7577#include "Validate/FindSpecialDecls.h"      // for findGlobalDecls
     78#include "Validate/ForallPointerDecay.hpp"  // for decayForallPointers
    7679#include "Validate/CompoundLiteral.hpp"     // for handleCompoundLiterals
    7780#include "Validate/InitializerLength.hpp"   // for setLengthFromInitializer
    7881#include "Validate/LabelAddressFixer.hpp"   // for fixLabelAddresses
    7982#include "Virtual/ExpandCasts.h"            // for expandCasts
    80 
    8183
    8284static void NewPass( const char * const name ) {
     
    326328                PASS( "Validate-B", SymTab::validate_B( translationUnit ) );
    327329                PASS( "Validate-C", SymTab::validate_C( translationUnit ) );
    328                 PASS( "Validate-D", SymTab::validate_D( translationUnit ) );
    329330
    330331                CodeTools::fillLocations( translationUnit );
    331332
    332333                if( useNewAST ) {
     334                        CodeTools::fillLocations( translationUnit );
     335
    333336                        if (Stats::Counters::enabled) {
    334337                                ast::pass_visitor_stats.avg = Stats::Counters::build<Stats::Counters::AverageCounter<double>>("Average Depth - New");
     
    338341
    339342                        forceFillCodeLocations( transUnit );
     343
     344                        PASS( "Implement Concurrent Keywords", Concurrency::implementKeywords( transUnit ) );
     345
     346                        // Must be after implement concurrent keywords; because uniqueIds
     347                        //   must be set on declaration before resolution.
     348                        // Must happen before autogen routines are added.
     349                        PASS( "Forall Pointer Decay", Validate::decayForallPointers( transUnit ) );
     350
     351                        // Must happen before autogen routines are added.
     352                        PASS( "Hoist Control Declarations", ControlStruct::hoistControlDecls( transUnit ) );
     353
     354                        // Must be after enum and pointer decay.
     355                        // Must be before compound literals.
     356                        PASS( "Generate Autogen Routines", Validate::autogenerateRoutines( transUnit ) );
    340357
    341358                        PASS( "Implement Mutex", Concurrency::implementMutex( transUnit ) );
     
    409426                        translationUnit = convert( move( transUnit ) );
    410427                } else {
     428                        PASS( "Validate-D", SymTab::validate_D( translationUnit ) );
    411429                        PASS( "Validate-E", SymTab::validate_E( translationUnit ) );
    412430                        PASS( "Validate-F", SymTab::validate_F( translationUnit ) );
     
    475493                        PASS( "Translate Tries" , ControlStruct::translateTries( translationUnit ) );
    476494                }
    477 
    478                
    479495
    480496                PASS( "Gen Waitfor" , Concurrency::generateWaitFor( translationUnit ) );
Note: See TracChangeset for help on using the changeset viewer.