Changeset 1a4bef3 for src


Ignore:
Timestamp:
Jan 12, 2018, 5:03:16 PM (6 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:
bee7f04
Parents:
0690350
Message:

Ensure that dereference type is marked as lvalue after reference conversion [fixes #74]

Location:
src/GenPoly
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/GenPoly/Box.cc

    r0690350 r1a4bef3  
    833833                                        deref->args.push_back( new CastExpr( new VariableExpr( param ), new PointerType( Type::Qualifiers(), arg->get_type()->clone() ) ) );
    834834                                        deref->result = arg->get_type()->clone();
     835                                        deref->result->set_lvalue( true );
    835836                                        return deref;
    836837                                } // if
  • src/GenPoly/Lvalue.cc

    r0690350 r1a4bef3  
    321321                                                delete ret->result;
    322322                                                ret->result = castExpr->result;
     323                                                ret->result->set_lvalue( true ); // ensure result is lvalue
    323324                                                castExpr->env = nullptr;
    324325                                                castExpr->arg = nullptr;
     
    388389                                        // can remove cast if types are compatible, changing expression type to value type
    389390                                        ret->result = castExpr->result->clone();
     391                                        ret->result->set_lvalue( true );  // ensure result is lvalue
    390392                                        castExpr->arg = nullptr;
    391393                                        delete castExpr;
Note: See TracChangeset for help on using the changeset viewer.