Changes in src/Tuples/TupleAssignment.cc [b8524ca:234b1cb]
- File:
-
- 1 edited
-
src/Tuples/TupleAssignment.cc (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Tuples/TupleAssignment.cc
rb8524ca r234b1cb 464 464 // resolve ctor/dtor for the new object 465 465 ast::ptr< ast::Init > ctorInit = ResolvExpr::resolveCtorInit( 466 InitTweak::genCtorInit( location,ret ), spotter.crntFinder.symtab );466 InitTweak::genCtorInit( ret ), spotter.crntFinder.symtab ); 467 467 // remove environments from subexpressions of stmtExpr 468 468 ast::Pass< EnvRemover > rm{ env }; … … 550 550 // is && and RHS is lvalue 551 551 auto lhsType = lhsCand->expr->result.strict_as< ast::ReferenceType >(); 552 rhsCand->expr = new ast::CastExpr{ rhsCand->expr, lhsType->base }; 552 rhsCand->expr = new ast::CastExpr{ 553 rhsCand->expr->location, rhsCand->expr, lhsType->base }; 553 554 ast::ptr< ast::ObjectDecl > lobj = newObject( lhsNamer, lhsCand->expr ); 554 555 ast::ptr< ast::ObjectDecl > robj = newObject( rhsNamer, rhsCand->expr ); … … 603 604 if ( ! lhsCand->expr.as< ast::CastExpr >() ) { 604 605 lhsCand->expr = new ast::CastExpr{ 605 lhsCand->expr, new ast::ReferenceType{ lhsCand->expr->result } }; 606 lhsCand->expr->location, lhsCand->expr, 607 new ast::ReferenceType{ lhsCand->expr->result } }; 606 608 } 607 609 … … 614 616 if ( ! cand->expr->result.as< ast::ReferenceType >() ) { 615 617 cand->expr = new ast::CastExpr{ 616 cand->expr, new ast::ReferenceType{ cand->expr->result } }; 618 cand->expr->location, cand->expr, 619 new ast::ReferenceType{ cand->expr->result } }; 617 620 } 618 621 }
Note:
See TracChangeset
for help on using the changeset viewer.