Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/InitTweak/InitTweak.cc

    ra16764a6 rba89e9b7  
    520520
    521521        ApplicationExpr * createBitwiseAssignment( Expression * dst, Expression * src ) {
     522                std::cerr << "=== createBitwiseAssignment ===" << std::endl;
     523                std::cerr << "== dst: " << dst << std::endl;
     524                std::cerr << "== src: " << src << std::endl;
     525
    522526                static FunctionDecl * assign = nullptr;
    523527                if ( ! assign ) {
     
    528532                }
    529533                if ( dynamic_cast< ReferenceType * >( dst->result ) ) {
    530                         dst = new AddressExpr( dst );
     534                        for (int depth = dst->result->referenceDepth(); depth > 0; depth--) {
     535                                dst = new AddressExpr( dst );
     536                        }
    531537                } else {
    532538                        dst = new CastExpr( dst, new ReferenceType( noQualifiers, dst->result->clone() ) );
    533539                }
    534540                if ( dynamic_cast< ReferenceType * >( src->result ) ) {
    535                         src = new CastExpr( src, new ReferenceType( noQualifiers, src->result->stripReferences()->clone() ) );
    536                 }
     541                        for (int depth = src->result->referenceDepth(); depth > 0; depth--) {
     542                                src = new AddressExpr( src );
     543                        }
     544                        // src = new CastExpr( src, new ReferenceType( noQualifiers, src->result->stripReferences()->clone() ) );
     545                }
     546                std::cerr << "============= endl : " << std::endl;
     547                std::cerr << "-- dst: " << dst << std::endl;
     548                std::cerr << "-- src: " << src << std::endl;
    537549                return new ApplicationExpr( VariableExpr::functionPointer( assign ), { dst, src } );
    538550        }
Note: See TracChangeset for help on using the changeset viewer.