Changeset c3a2007 for src/main.cc
- Timestamp:
- Oct 28, 2019, 4:28:37 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 8364209
- Parents:
- c921712 (diff), 9bdb8b7 (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
rc921712 rc3a2007 59 59 #include "ResolvExpr/Resolver.h" // for resolve 60 60 #include "SymTab/Validate.h" // for validate 61 #include "SynTree/TopLvalue.h" // for assertTopLvalue, clearInn...62 61 #include "SynTree/Declaration.h" // for Declaration 63 62 #include "SynTree/Visitor.h" // for acceptAll … … 259 258 Stats::Time::StopBlock(); 260 259 261 //std::cerr << "Post-Parse Check" << std::endl;262 clearInnerLvalue( translationUnit );263 assertTopLvalue( translationUnit );264 265 260 // add the assignment statement after the initialization of a type parameter 266 261 PASS( "Validate", SymTab::validate( translationUnit, symtabp ) ); … … 281 276 } // if 282 277 283 assertTopLvalue( translationUnit );284 278 PASS( "Fix Labels", ControlStruct::fixLabels( translationUnit ) ); 285 assertTopLvalue( translationUnit );286 279 PASS( "Fix Names", CodeGen::fixNames( translationUnit ) ); 287 assertTopLvalue( translationUnit );288 280 PASS( "Gen Init", InitTweak::genInit( translationUnit ) ); 289 assertTopLvalue( translationUnit );290 281 PASS( "Expand Member Tuples" , Tuples::expandMemberTuples( translationUnit ) ); 291 assertTopLvalue( translationUnit );292 282 if ( libcfap ) { 293 283 // generate the bodies of cfa library functions … … 313 303 } // if 314 304 315 assertTopLvalue( translationUnit );316 317 305 PASS( "Resolve", ResolvExpr::resolve( translationUnit ) ); 318 306 if ( exprp ) { … … 321 309 } // if 322 310 323 clearInnerLvalue( translationUnit );324 assertTopLvalue( translationUnit );325 326 311 // fix ObjectDecl - replaces ConstructorInit nodes 327 312 PASS( "Fix Init", InitTweak::fix( translationUnit, buildingLibrary() ) ); 328 clearInnerLvalue( translationUnit );329 assertTopLvalue( translationUnit );330 313 if ( ctorinitp ) { 331 314 dump ( translationUnit ); … … 334 317 335 318 PASS( "Expand Unique Expr", Tuples::expandUniqueExpr( translationUnit ) ); // xxx - is this the right place for this? want to expand ASAP so tha, sequent passes don't need to worry about double-visiting a unique expr - needs to go after InitTweak::fix so that copy constructed return declarations are reused 336 assertTopLvalue( translationUnit );337 319 338 320 PASS( "Translate EHM" , ControlStruct::translateEHM( translationUnit ) ); 339 assertTopLvalue( translationUnit );340 321 341 322 PASS( "Gen Waitfor" , Concurrency::generateWaitFor( translationUnit ) ); 342 clearInnerLvalue( translationUnit );343 assertTopLvalue( translationUnit );344 323 345 324 PASS( "Convert Specializations", GenPoly::convertSpecializations( translationUnit ) ); // needs to happen before tuple types are expanded 346 clearInnerLvalue( translationUnit );347 assertTopLvalue( translationUnit );348 325 349 326 PASS( "Expand Tuples", Tuples::expandTuples( translationUnit ) ); // xxx - is this the right place for this? 350 assertTopLvalue( translationUnit );351 327 352 328 if ( tuplep ) { … … 356 332 357 333 PASS( "Virtual Expand Casts", Virtual::expandCasts( translationUnit ) ); // Must come after translateEHM 358 assertTopLvalue( translationUnit );359 334 360 335 PASS( "Instantiate Generics", GenPoly::instantiateGeneric( translationUnit ) ); … … 363 338 return EXIT_SUCCESS; 364 339 } // if 365 clearInnerLvalue( translationUnit ); 366 assertTopLvalue( translationUnit ); 340 367 341 PASS( "Convert L-Value", GenPoly::convertLvalue( translationUnit ) ); 368 clearInnerLvalue( translationUnit );369 assertTopLvalue( translationUnit );370 342 371 343 if ( bboxp ) { … … 374 346 } // if 375 347 PASS( "Box", GenPoly::box( translationUnit ) ); 376 clearInnerLvalue( translationUnit );377 assertTopLvalue( translationUnit );378 348 379 349 if ( bcodegenp ) { … … 387 357 388 358 CodeTools::fillLocations( translationUnit ); 389 assertTopLvalue( translationUnit );390 359 PASS( "Code Gen", CodeGen::generate( translationUnit, *output, ! genproto, prettycodegenp, true, linemarks ) ); 391 360
Note: See TracChangeset
for help on using the changeset viewer.