Changeset e41306d for src/InitTweak


Ignore:
Timestamp:
Oct 19, 2017, 11:33:25 AM (7 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
a15b72c
Parents:
f30b261
git-author:
Rob Schluntz <rschlunt@…> (10/19/17 11:33:18)
git-committer:
Rob Schluntz <rschlunt@…> (10/19/17 11:33:25)
Message:

Transfer env from constructor to SingleInit? when simplifying intrinsic copy constructor [fixes #52]

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/InitTweak/FixInit.cc

    rf30b261 re41306d  
    738738                                                if ( ctorStmt && (ctorCall = isIntrinsicCallExpr( ctorStmt->expr )) && ctorCall->get_args().size() == 2 ) {
    739739                                                        // clean up intrinsic copy constructor calls by making them into SingleInits
    740                                                         objDecl->init = new SingleInit( ctorCall->args.back() );
     740                                                        Expression * ctorArg = ctorCall->args.back();
     741                                                        std::swap( ctorArg->env, ctorCall->env );
     742                                                        objDecl->init = new SingleInit( ctorArg );
     743
    741744                                                        ctorCall->args.pop_back();
    742745                                                } else {
Note: See TracChangeset for help on using the changeset viewer.