Changes in src/Tuples/Explode.cc [8d7bef2:0b5d871]
- File:
-
- 1 edited
-
src/Tuples/Explode.cc (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Tuples/Explode.cc
r8d7bef2 r0b5d871 15 15 16 16 #include "Explode.h" 17 #include <list> // for list 18 19 #include "SynTree/Mutator.h" // for Mutator 20 #include "Common/PassVisitor.h" // for PassVisitor 17 #include "SynTree/Mutator.h" 18 #include "Common/PassVisitor.h" 21 19 22 20 namespace Tuples { … … 70 68 // should now be a tuple of references rather than a reference to a tuple. 71 69 // Still, this code is a bit awkward, and could use some improvement. 72 UniqueExpr * newUniqueExpr = new UniqueExpr{ applyCast( uniqueExpr->get_expr() ), uniqueExpr->get_id() }; 70 UniqueExpr * newUniqueExpr = new UniqueExpr( applyCast( uniqueExpr->get_expr() ), uniqueExpr->get_id() ); 71 delete uniqueExpr; 73 72 if ( castAdded ) { 74 73 // if a cast was added by applyCast, then unique expr now has one more layer of reference … … 87 86 // field is consistent with the type of the tuple expr, since the field 88 87 // may have changed from type T to T&. 89 return new TupleIndexExpr( tupleExpr->get_tuple(), tupleExpr->get_index() ); 88 Expression * expr = tupleExpr->get_tuple(); 89 tupleExpr->set_tuple( nullptr ); 90 TupleIndexExpr * ret = new TupleIndexExpr( expr, tupleExpr->get_index() ); 91 delete tupleExpr; 92 return ret; 90 93 } 91 94 };
Note:
See TracChangeset
for help on using the changeset viewer.