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

Changeset 752:2d7bcfa68128

Show
Ignore:
Timestamp:
11/03/08 09:23:22 (2 months ago)
Author:
Christian Kamm <kamm incasoftware de>
branch:
default
Message:

Enable function parameter debug info for a wider range of args.

Files:

Legend:

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

    r739 r752  
    746746            bool lazy = vd->storage_class & STClazy; 
    747747 
    748             if (refout
     748            if (!refout && (!DtoIsPassedByRef(vd->type) || lazy)
    749749            { 
    750                 continue; 
     750                LLValue* a = irloc->value; 
     751                LLValue* v = DtoAlloca(a->getType(), "."+a->getName()); 
     752                DtoStore(a,v); 
     753                irloc->value = v; 
    751754            } 
    752             else if (!lazy && DtoIsPassedByRef(vd->type)) 
    753             { 
    754                 LLValue* vdirval = irloc->value; 
    755                 if (global.params.symdebug && !(isaArgument(vdirval) && !isaArgument(vdirval)->hasByValAttr())) 
    756                     DtoDwarfLocalVariable(vdirval, vd); 
    757                 continue; 
    758             } 
    759  
    760             LLValue* a = irloc->value; 
    761             LLValue* v = DtoAlloca(a->getType(), "."+a->getName()); 
    762             DtoStore(a,v); 
    763             irloc->value = v; 
     755            if (global.params.symdebug && !(isaArgument(irloc->value) && !isaArgument(irloc->value)->hasByValAttr()) && !refout) 
     756                DtoDwarfLocalVariable(irloc->value, vd); 
    764757        } 
    765758    } 
Copyright © 2008, LDC Development Team.