Changeset 60089f4 for src/SynTree/CommaExpr.cc
- Timestamp:
- May 2, 2016, 3:12:59 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 9243a501, d7903b1
- Parents:
- 89231bc
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/CommaExpr.cc
r89231bc r60089f4 5 5 // file "LICENCE" distributed with Cforall. 6 6 // 7 // CommaExpr.cc -- 7 // CommaExpr.cc -- 8 8 // 9 9 // Author : Richard C. Bilson 10 10 // Created On : Mon May 18 07:44:20 2015 11 // Last Modified By : Peter A. Buhr12 // Last Modified On : Mon May 18 08:09:58 201511 // Last Modified By : Rob Schluntz 12 // Last Modified On : Mon May 02 15:11:29 2016 13 13 // Update Count : 1 14 14 // … … 20 20 CommaExpr::CommaExpr( Expression *arg1, Expression *arg2, Expression *_aname ) 21 21 : Expression( _aname ), arg1( arg1 ), arg2( arg2 ) { 22 // xxx - result of a comma expression is never an lvalue, so should set lvalue 23 // to false on all result types. Actually doing this causes some strange things 24 // to happen in later passes (particularly, Specialize, Lvalue, and Box). This needs to be looked into. 22 25 cloneAll( arg2->get_results(), get_results() ); 26 // for ( Type *& type : get_results() ) { 27 // type->set_isLvalue( false ); 28 // } 23 29 } 24 30 … … 33 39 34 40 void CommaExpr::print( std::ostream &os, int indent ) const { 35 os << std::string( indent, ' ' ) << "Comma Expression:" << std::endl; 41 os << "Comma Expression:" << std::endl; 42 os << std::string( indent+2, ' ' ); 36 43 arg1->print( os, indent+2 ); 37 44 os << std::endl; 45 os << std::string( indent+2, ' ' ); 38 46 arg2->print( os, indent+2 ); 39 47 Expression::print( os, indent );
Note: See TracChangeset
for help on using the changeset viewer.