Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/InitTweak/FixInitNew.cpp

    r0bd3faf rfa761c2  
    178178/// (currently by FixInit)
    179179struct InsertDtors final : public ObjDeclCollector, public ast::WithStmtsToAdd<> {
     180        typedef std::list< ObjectDecl * > OrderedDecls;
     181        typedef std::list< OrderedDecls > OrderedDeclsStack;
     182
    180183        InsertDtors( ast::Pass<LabelFinder> & finder ) : finder( finder ), labelVars( finder.core.vars ) {}
    181184
     
    191194        ast::Pass<LabelFinder> & finder;
    192195        LabelFinder::LabelMap & labelVars;
     196        OrderedDeclsStack reverseDeclOrder;
    193197};
    194198
     
    917921                                        // static variables with the same name in different functions.
    918922                                        // Note: it isn't sufficient to modify only the mangleName, because
    919                                         // then subsequent SymbolTable passes can choke on seeing the object's name
     923                                        // then subsequent Indexer passes can choke on seeing the object's name
    920924                                        // if another object has the same name and type. An unfortunate side-effect
    921925                                        // of renaming the object is that subsequent NameExprs may fail to resolve,
     
    11691173                                arg2 = new ast::MemberExpr(funcDecl->location, field, new ast::VariableExpr(funcDecl->location, function->params.back() ) );
    11701174                        }
    1171                         InitExpander srcParam( arg2 );
     1175                        InitExpander_new srcParam( arg2 );
    11721176                        // cast away reference type and construct field.
    11731177                        ast::Expr * thisExpr = new ast::CastExpr(funcDecl->location, new ast::VariableExpr(funcDecl->location, thisParam ), thisParam->get_type()->stripReferences());
Note: See TracChangeset for help on using the changeset viewer.