Changeset b4f8808 for src/SynTree/Expression.cc
- Timestamp:
- Sep 26, 2019, 1:25:49 PM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 70b4ea20, ea2074e
- Parents:
- 849720f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Expression.cc
r849720f rb4f8808 115 115 assert( var->get_type() ); 116 116 Type * type = var->get_type()->clone(); 117 type->set_lvalue( true );118 117 119 118 // xxx - doesn't quite work yet - get different alternatives with the same cost … … 125 124 // long long int value; 126 125 // if ( decl->valueOf( var, value ) ) { 127 // type->set_lvalue( false ); 126 // type->set_lvalue( false ); // Would have to move to get_lvalue. 128 127 // } 129 128 // } … … 384 383 sub.apply( res ); 385 384 result = res; 386 result->set_lvalue( true );387 385 result->get_qualifiers() |= aggregate->result->get_qualifiers(); 388 386 } … … 433 431 // if references are still allowed in the AST, dereference returns a reference 434 432 ret->set_result( new ReferenceType( Type::Qualifiers(), ret->get_result() ) ); 435 } else {436 // references have been removed, in which case dereference returns an lvalue of the base type.437 ret->result->set_lvalue( true );438 433 } 439 434 } … … 591 586 CompoundLiteralExpr::CompoundLiteralExpr( Type * type, Initializer * initializer ) : initializer( initializer ) { 592 587 assert( type && initializer ); 593 type->set_lvalue( true );594 588 set_result( type ); 595 589 }
Note: See TracChangeset
for help on using the changeset viewer.