Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Convert.cpp

    r8abee136 rdd6d7c6  
    13421342};
    13431343
    1344 std::list< Declaration * > convert( const std::list< ast::ptr< ast::Decl > > && translationUnit ) {
     1344std::list< Declaration * > convert( std::list< ast::ptr< ast::Decl > > && translationUnit ) {
    13451345        ConverterNewToOld c;
    13461346        std::list< Declaration * > decls;
    13471347        for(auto d : translationUnit) {
    13481348                decls.emplace_back( c.decl( d ) );
     1349                delete d;
    13491350        }
    13501351        return decls;
     
    14351436                        { old->get_funcSpec().val }
    14361437                );
    1437                 cache.emplace( old, decl );
    14381438                decl->scopeLevel = old->scopeLevel;
    14391439                decl->mangleName = old->mangleName;
     
    14411441                decl->uniqueId   = old->uniqueId;
    14421442                decl->extension  = old->extension;
     1443                cache.emplace( old, decl );
    14431444
    14441445                this->node = decl;
     
    14571458                        { old->get_funcSpec().val }
    14581459                };
    1459                 cache.emplace( old, decl );
    14601460                decl->scopeLevel = old->scopeLevel;
    14611461                decl->mangleName = old->mangleName;
     
    14631463                decl->uniqueId   = old->uniqueId;
    14641464                decl->extension  = old->extension;
     1465                cache.emplace( old, decl );
    14651466
    14661467                this->node = decl;
     
    14761477                        { old->linkage.val }
    14771478                );
    1478                 cache.emplace( old, decl );
    14791479                decl->parent = GET_ACCEPT_1(parent, AggregateDecl);
    14801480                decl->body   = old->body;
     
    14841484                decl->uniqueId   = old->uniqueId;
    14851485                decl->storage    = { old->storageClasses.val };
     1486                cache.emplace( old, decl );
    14861487
    14871488                this->node = decl;
     
    14961497                        { old->linkage.val }
    14971498                );
    1498                 cache.emplace( old, decl );
    14991499                decl->parent = GET_ACCEPT_1(parent, AggregateDecl);
    15001500                decl->body   = old->body;
     
    15041504                decl->uniqueId   = old->uniqueId;
    15051505                decl->storage    = { old->storageClasses.val };
     1506                cache.emplace( old, decl );
    15061507
    15071508                this->node = decl;
     
    15161517                        { old->linkage.val }
    15171518                );
    1518                 cache.emplace( old, decl );
    15191519                decl->parent = GET_ACCEPT_1(parent, AggregateDecl);
    15201520                decl->body   = old->body;
     
    15241524                decl->uniqueId   = old->uniqueId;
    15251525                decl->storage    = { old->storageClasses.val };
     1526                cache.emplace( old, decl );
    15261527
    15271528                this->node = decl;
     
    15361537                        { old->linkage.val }
    15371538                );
    1538                 cache.emplace( old, decl );
    15391539                decl->parent = GET_ACCEPT_1(parent, AggregateDecl);
    15401540                decl->body   = old->body;
     
    15441544                decl->uniqueId   = old->uniqueId;
    15451545                decl->storage    = { old->storageClasses.val };
     1546                cache.emplace( old, decl );
    15461547
    15471548                this->node = decl;
     
    15591560                        GET_ACCEPT_1(init, Type)
    15601561                };
    1561                 cache.emplace( old, decl );
    15621562                decl->assertions = GET_ACCEPT_V(assertions, DeclWithType);
    15631563                decl->params     = GET_ACCEPT_V(parameters, TypeDecl);
    15641564                decl->extension  = old->extension;
    15651565                decl->uniqueId   = old->uniqueId;
     1566                cache.emplace( old, decl );
    15661567
    15671568                this->node = decl;
     
    19111912        ast::TypeSubstitution * convertTypeSubstitution(const TypeSubstitution * old) {
    19121913
    1913                 if (!old) return nullptr;
    1914 
    19151914                ast::TypeSubstitution *rslt = new ast::TypeSubstitution();
    19161915
     
    27042703                d->accept( c );
    27052704                decls.emplace_back( c.decl() );
    2706         }
    2707         deleteAll(translationUnit);
     2705                delete d;
     2706        }
    27082707        return decls;
    27092708}
Note: See TracChangeset for help on using the changeset viewer.