Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Validate.cc

    red8a0d2 rfbd7ad6  
    240240                ReturnTypeFixer::fix( translationUnit ); // must happen before autogen
    241241                acceptAll( translationUnit, lrt ); // must happen before autogen, because sized flag needs to propagate to generated functions
    242                 acceptAll( translationUnit, epc ); // must happen before VerifyCtorDtorAssign, because void return objects should not exist
    243                 VerifyCtorDtorAssign::verify( translationUnit );  // must happen before autogen, because autogen examines existing ctor/dtors
    244242                Concurrency::applyKeywords( translationUnit );
    245243                autogenerateRoutines( translationUnit ); // moved up, used to be below compoundLiteral - currently needs EnumAndPointerDecayPass
    246244                Concurrency::implementMutexFuncs( translationUnit );
    247245                Concurrency::implementThreadStarter( translationUnit );
     246                acceptAll( translationUnit, epc );
    248247                ReturnChecker::checkFunctionReturns( translationUnit );
    249248                compoundliteral.mutateDeclarationList( translationUnit );
    250249                acceptAll( translationUnit, pass3 );
     250                VerifyCtorDtorAssign::verify( translationUnit );
    251251                ArrayLength::computeLength( translationUnit );
    252252        }
     
    817817                                throw SemanticError( "Constructors, destructors, and assignment functions require at least one parameter ", funcDecl );
    818818                        }
    819                         PointerType * ptrType = dynamic_cast< PointerType * >( params.front()->get_type() );
    820                         if ( ! ptrType || ptrType->is_array() ) {
     819                        if ( ! dynamic_cast< PointerType * >( params.front()->get_type() ) ) {
    821820                                throw SemanticError( "First parameter of a constructor, destructor, or assignment function must be a pointer ", funcDecl );
    822821                        }
Note: See TracChangeset for help on using the changeset viewer.