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

Changeset 652:c8fcde3337b0

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

Fix TryFinally? without body or finalbody.

Files:

Legend:

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

    r632 r652  
    512512        DtoDwarfStopPoint(loc.linnum); 
    513513 
     514    // if there's no finalbody or no body, things are simple 
     515    if (!finalbody) { 
     516        if (body) 
     517            body->toIR(p); 
     518        return; 
     519    } 
     520    if (!body) { 
     521        finalbody->toIR(p); 
     522        return; 
     523    } 
     524 
    514525    // create basic blocks 
    515526    llvm::BasicBlock* oldend = p->scopeend(); 
     
    530541    p->scope() = IRScope(landingpadbb, endbb); 
    531542 
     543    assert(finalbody); 
    532544    gIR->func()->landingPad.addFinally(finalbody); 
    533545    gIR->func()->landingPad.push(landingpadbb); 
     
    551563    // 
    552564    p->scope() = IRScope(finallybb,landingpadbb); 
    553     assert(finalbody); 
    554565    finalbody->toIR(p); 
    555566 
Copyright © 2008, LDC Development Team.