Ignore:
Timestamp:
Dec 15, 2015, 4:09:13 PM (9 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, 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, string, with_gc
Children:
4389966
Parents:
b0b958a
Message:

create temporary return variable for return expressions, remove unnecessary code after temporary-return-variable change, fix missing lvalue qualifiers, change stream operator to |

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/GenPoly/Lvalue.cc

    rb0b958a rcf16f94  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Tue May 19 07:41:33 2015
    13 // Update Count     : 1
     12// Last Modified On : Tue Dec 15 15:33:13 2015
     13// Update Count     : 3
    1414//
    1515
     
    120120                        if ( retval && retStmt->get_expr() ) {
    121121                                assert( ! retStmt->get_expr()->get_results().empty() );
    122                                 while ( CastExpr *castExpr = dynamic_cast< CastExpr* >( retStmt->get_expr() ) ) {
    123                                         retStmt->set_expr( castExpr->get_arg() );
    124                                         retStmt->get_expr()->set_env( castExpr->get_env() );
    125                                         castExpr->set_env( 0 );
    126                                         castExpr->set_arg( 0 );
    127                                         delete castExpr;
    128                                 } // while
    129122                                if ( retStmt->get_expr()->get_results().front()->get_isLvalue() ) {
     123                                        // ***** Code Removal ***** because casts may be stripped already
     124
     125                                        // strip casts because not allowed to take address of cast
     126                                        // while ( CastExpr *castExpr = dynamic_cast< CastExpr* >( retStmt->get_expr() ) ) {
     127                                        //      retStmt->set_expr( castExpr->get_arg() );
     128                                        //      retStmt->get_expr()->set_env( castExpr->get_env() );
     129                                        //      castExpr->set_env( 0 );
     130                                        //      castExpr->set_arg( 0 );
     131                                        //      delete castExpr;
     132                                        // } // while
    130133                                        retStmt->set_expr( new AddressExpr( retStmt->get_expr()->acceptMutator( *this ) ) );
    131134                                } else {
Note: See TracChangeset for help on using the changeset viewer.