Wiki Roadmap Timeline Tickets New Ticket Source Search Help / Guide About Trac Login

Changeset 770:50eae902f77e

Show
Ignore:
Timestamp:
11/14/08 10:26:12 (2 months ago)
Author:
Christian Kamm <kamm incasoftware de>
branch:
default
Message:

Cast result of ...AssignExp? to type the frontend expects if necessary. Fixes #116.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gen/toir.cpp

    r763 r770  
    538538DValue* AddAssignExp::toElem(IRState* p) 
    539539{ 
    540     Logger::print("AddAssignExp::toElem: %s\n", toChars()); 
     540    Logger::print("AddAssignExp::toElem: %s | %s\n", toChars(), type->toChars()); 
    541541    LOG_SCOPE; 
    542542 
     
    558558    } 
    559559    DtoAssign(loc, l, res); 
     560 
     561    if (res->getType() != type) 
     562        res = DtoCast(loc, res, type); 
    560563 
    561564    return res; 
     
    632635    DtoAssign(loc, l, res); 
    633636 
     637    if (res->getType() != type) 
     638        res = DtoCast(loc, res, type); 
     639 
    634640    return res; 
    635641} 
     
    671677    DtoAssign(loc, l, res); 
    672678 
     679    if (res->getType() != type) 
     680        res = DtoCast(loc, res, type); 
     681 
    673682    return res; 
    674683} 
     
    710719    DtoAssign(loc, l, res); 
    711720 
     721    if (res->getType() != type) 
     722        res = DtoCast(loc, res, type); 
     723 
    712724    return res; 
    713725} 
     
    738750    DValue* res = DtoBinRem(l->getType(), l, r); 
    739751    DtoAssign(loc, l, res); 
     752 
     753    if (res->getType() != type) 
     754        res = DtoCast(loc, res, type); 
    740755 
    741756    return res; 
Copyright © 2008, LDC Development Team.