Ignore:
Timestamp:
Mar 16, 2018, 5:15:02 PM (6 years ago)
Author:
Aaron Moss <a3moss@…>
Branches:
new-env, with_gc
Children:
8d7bef2
Parents:
6171841
git-author:
Aaron Moss <a3moss@…> (03/16/18 17:04:24)
git-committer:
Aaron Moss <a3moss@…> (03/16/18 17:15:02)
Message:

First pass at delete removal

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/Unify.cc

    r6171841 r68f9c43  
    9999                findOpenVars( newSecond, openVars, closedVars, needAssertions, haveAssertions, true );
    100100
    101                 bool result = unifyExact( newFirst, newSecond, newEnv, needAssertions, haveAssertions, openVars, WidenMode( false, false ), indexer );
    102                 delete newFirst;
    103                 delete newSecond;
    104                 return result;
     101                return unifyExact( newFirst, newSecond, newEnv, needAssertions, haveAssertions, openVars, WidenMode( false, false ), indexer );
    105102        }
    106103
     
    123120///   newSecond->print( std::cerr );
    124121///   std::cerr << std::endl;
    125                 bool result = unifyExact( newFirst, newSecond, newEnv, needAssertions, haveAssertions, openVars, WidenMode( false, false ), indexer );
    126                 delete newFirst;
    127                 delete newSecond;
    128                 return result;
     122                return unifyExact( newFirst, newSecond, newEnv, needAssertions, haveAssertions, openVars, WidenMode( false, false ), indexer );
    129123        }
    130124
     
    176170                                        if ( common ) {
    177171                                                common->get_qualifiers() = Type::Qualifiers();
    178                                                 delete curClass.type;
    179172                                                curClass.type = common;
    180173                                                env.add( curClass );
     
    239232                                if ( common ) {
    240233                                        common->get_qualifiers() = Type::Qualifiers();
    241                                         delete class1.type;
    242234                                        class1.type = common;
    243235                                } // if
     
    272264                        env.add( newClass );
    273265                } // if
    274                 delete type1;
    275                 delete type2;
    276266                return result;
    277267        }
     
    282272                findOpenVars( type2, openVars, closedVars, needAssertions, haveAssertions, true );
    283273                Type *commonType = 0;
    284                 if ( unifyInexact( type1, type2, env, needAssertions, haveAssertions, openVars, WidenMode( true, true ), indexer, commonType ) ) {
    285                         if ( commonType ) {
    286                                 delete commonType;
    287                         } // if
    288                         return true;
    289                 } else {
    290                         return false;
    291                 } // if
     274                return unifyInexact( type1, type2, env, needAssertions, haveAssertions, openVars, WidenMode( true, true ), indexer, commonType );
    292275        }
    293276
     
    544527                                        // expand ttype parameter into its actual type
    545528                                        if ( eqvClass.type ) {
    546                                                 delete typeInst;
    547529                                                return eqvClass.type->clone();
    548530                                        }
     
    569551                                dst.push_back( new ObjectDecl( "", Type::StorageClasses(), LinkageSpec::C, nullptr, t, nullptr ) );
    570552                        }
    571                         delete dcl;
    572553                }
    573554        }
Note: See TracChangeset for help on using the changeset viewer.