Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Validate.cc

    r677c1be r83de11e  
    291291
    292292        namespace {
    293                 template< typename DWTIterator >
    294                 void fixFunctionList( DWTIterator begin, DWTIterator end, FunctionType *func ) {
     293                template< typename DWTList >
     294                void fixFunctionList( DWTList & dwts, FunctionType * func ) {
    295295                        // the only case in which "void" is valid is where it is the only one in the list; then it should be removed
    296296                        // entirely other fix ups are handled by the FixFunction class
     297                        typedef typename DWTList::iterator DWTIterator;
     298                        DWTIterator begin( dwts.begin() ), end( dwts.end() );
    297299                        if ( begin == end ) return;
    298300                        FixFunction fixer;
    299301                        DWTIterator i = begin;
    300                         *i = (*i )->acceptMutator( fixer );
     302                        *i = (*i)->acceptMutator( fixer );
    301303                        if ( fixer.get_isVoid() ) {
    302304                                DWTIterator j = i;
    303305                                ++i;
    304                                 func->get_parameters().erase( j );
     306                                dwts.erase( j );
    305307                                if ( i != end ) {
    306308                                        throw SemanticError( "invalid type void in function type ", func );
     
    321323        void Pass1::visit( FunctionType *func ) {
    322324                // Fix up parameters and return types
    323                 fixFunctionList( func->get_parameters().begin(), func->get_parameters().end(), func );
    324                 fixFunctionList( func->get_returnVals().begin(), func->get_returnVals().end(), func );
     325                fixFunctionList( func->get_parameters(), func );
     326                fixFunctionList( func->get_returnVals(), func );
    325327                Visitor::visit( func );
    326328        }
Note: See TracChangeset for help on using the changeset viewer.