Changeset 68f9c43 for src/ResolvExpr/Unify.cc
- Timestamp:
- Mar 16, 2018, 5:15:02 PM (6 years ago)
- 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)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/Unify.cc
r6171841 r68f9c43 99 99 findOpenVars( newSecond, openVars, closedVars, needAssertions, haveAssertions, true ); 100 100 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 ); 105 102 } 106 103 … … 123 120 /// newSecond->print( std::cerr ); 124 121 /// 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 ); 129 123 } 130 124 … … 176 170 if ( common ) { 177 171 common->get_qualifiers() = Type::Qualifiers(); 178 delete curClass.type;179 172 curClass.type = common; 180 173 env.add( curClass ); … … 239 232 if ( common ) { 240 233 common->get_qualifiers() = Type::Qualifiers(); 241 delete class1.type;242 234 class1.type = common; 243 235 } // if … … 272 264 env.add( newClass ); 273 265 } // if 274 delete type1;275 delete type2;276 266 return result; 277 267 } … … 282 272 findOpenVars( type2, openVars, closedVars, needAssertions, haveAssertions, true ); 283 273 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 ); 292 275 } 293 276 … … 544 527 // expand ttype parameter into its actual type 545 528 if ( eqvClass.type ) { 546 delete typeInst;547 529 return eqvClass.type->clone(); 548 530 } … … 569 551 dst.push_back( new ObjectDecl( "", Type::StorageClasses(), LinkageSpec::C, nullptr, t, nullptr ) ); 570 552 } 571 delete dcl;572 553 } 573 554 }
Note: See TracChangeset
for help on using the changeset viewer.