Index: src/main.cc
===================================================================
--- src/main.cc	(revision ef22ad65ff9727de264304f61406d2505d5d7d45)
+++ src/main.cc	(revision 295ed2a4edf0afafd059e5d96193abcfe0eb6b20)
@@ -59,5 +59,4 @@
 #include "ResolvExpr/Resolver.h"            // for resolve
 #include "SymTab/Validate.h"                // for validate
-#include "SynTree/TopLvalue.h"              // for assertTopLvalue, clearInn...
 #include "SynTree/Declaration.h"            // for Declaration
 #include "SynTree/Visitor.h"                // for acceptAll
@@ -259,8 +258,4 @@
 		Stats::Time::StopBlock();
 
-		//std::cerr << "Post-Parse Check" << std::endl;
-		clearInnerLvalue( translationUnit );
-		assertTopLvalue( translationUnit );
-
 		// add the assignment statement after the initialization of a type parameter
 		PASS( "Validate", SymTab::validate( translationUnit, symtabp ) );
@@ -281,13 +276,8 @@
 		} // if
 
-		assertTopLvalue( translationUnit );
 		PASS( "Fix Labels", ControlStruct::fixLabels( translationUnit ) );
-		assertTopLvalue( translationUnit );
 		PASS( "Fix Names", CodeGen::fixNames( translationUnit ) );
-		assertTopLvalue( translationUnit );
 		PASS( "Gen Init", InitTweak::genInit( translationUnit ) );
-		assertTopLvalue( translationUnit );
 		PASS( "Expand Member Tuples" , Tuples::expandMemberTuples( translationUnit ) );
-		assertTopLvalue( translationUnit );
 		if ( libcfap ) {
 			// generate the bodies of cfa library functions
@@ -313,6 +303,4 @@
 		} // if
 
-		assertTopLvalue( translationUnit );
-
 		PASS( "Resolve", ResolvExpr::resolve( translationUnit ) );
 		if ( exprp ) {
@@ -321,11 +309,6 @@
 		} // if
 
-		clearInnerLvalue( translationUnit );
-		assertTopLvalue( translationUnit );
-
 		// fix ObjectDecl - replaces ConstructorInit nodes
 		PASS( "Fix Init", InitTweak::fix( translationUnit, buildingLibrary() ) );
-		clearInnerLvalue( translationUnit );
-		assertTopLvalue( translationUnit );
 		if ( ctorinitp ) {
 			dump ( translationUnit );
@@ -334,19 +317,12 @@
 
 		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
-		assertTopLvalue( translationUnit );
 
 		PASS( "Translate EHM" , ControlStruct::translateEHM( translationUnit ) );
-		assertTopLvalue( translationUnit );
 
 		PASS( "Gen Waitfor" , Concurrency::generateWaitFor( translationUnit ) );
-		clearInnerLvalue( translationUnit );
-		assertTopLvalue( translationUnit );
 
 		PASS( "Convert Specializations",  GenPoly::convertSpecializations( translationUnit ) ); // needs to happen before tuple types are expanded
-		clearInnerLvalue( translationUnit );
-		assertTopLvalue( translationUnit );
 
 		PASS( "Expand Tuples", Tuples::expandTuples( translationUnit ) ); // xxx - is this the right place for this?
-		assertTopLvalue( translationUnit );
 
 		if ( tuplep ) {
@@ -356,5 +332,4 @@
 
 		PASS( "Virtual Expand Casts", Virtual::expandCasts( translationUnit ) ); // Must come after translateEHM
-		assertTopLvalue( translationUnit );
 
 		PASS( "Instantiate Generics", GenPoly::instantiateGeneric( translationUnit ) );
@@ -363,9 +338,6 @@
 			return EXIT_SUCCESS;
 		} // if
-		clearInnerLvalue( translationUnit );
-		assertTopLvalue( translationUnit );
+
 		PASS( "Convert L-Value", GenPoly::convertLvalue( translationUnit ) );
-		clearInnerLvalue( translationUnit );
-		assertTopLvalue( translationUnit );
 
 		if ( bboxp ) {
@@ -374,6 +346,4 @@
 		} // if
 		PASS( "Box", GenPoly::box( translationUnit ) );
-		clearInnerLvalue( translationUnit );
-		assertTopLvalue( translationUnit );
 
 		if ( bcodegenp ) {
@@ -387,5 +357,4 @@
 
 		CodeTools::fillLocations( translationUnit );
-		assertTopLvalue( translationUnit );
 		PASS( "Code Gen", CodeGen::generate( translationUnit, *output, ! genproto, prettycodegenp, true, linemarks ) );
 
