Changes in src/SymTab/Validate.cc [ed8a0d2:fbd7ad6]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SymTab/Validate.cc
red8a0d2 rfbd7ad6 240 240 ReturnTypeFixer::fix( translationUnit ); // must happen before autogen 241 241 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 exist243 VerifyCtorDtorAssign::verify( translationUnit ); // must happen before autogen, because autogen examines existing ctor/dtors244 242 Concurrency::applyKeywords( translationUnit ); 245 243 autogenerateRoutines( translationUnit ); // moved up, used to be below compoundLiteral - currently needs EnumAndPointerDecayPass 246 244 Concurrency::implementMutexFuncs( translationUnit ); 247 245 Concurrency::implementThreadStarter( translationUnit ); 246 acceptAll( translationUnit, epc ); 248 247 ReturnChecker::checkFunctionReturns( translationUnit ); 249 248 compoundliteral.mutateDeclarationList( translationUnit ); 250 249 acceptAll( translationUnit, pass3 ); 250 VerifyCtorDtorAssign::verify( translationUnit ); 251 251 ArrayLength::computeLength( translationUnit ); 252 252 } … … 817 817 throw SemanticError( "Constructors, destructors, and assignment functions require at least one parameter ", funcDecl ); 818 818 } 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() ) ) { 821 820 throw SemanticError( "First parameter of a constructor, destructor, or assignment function must be a pointer ", funcDecl ); 822 821 }
Note: See TracChangeset
for help on using the changeset viewer.