comparison gen/functions.cpp @ 455:d3d3519b72e8

Fixed inserting an AA entry with 'this' as key. Fixed debug info for aggregate parameters. Only seems to work on byval arguments.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Sat, 02 Aug 2008 17:24:10 +0200
parents 283d113d4753
children d82ebdba4191
comparison
equal deleted inserted replaced
454:283d113d4753 455:d3d3519b72e8
610 } 610 }
611 // debug info for normal aggr params seem to work fine 611 // debug info for normal aggr params seem to work fine
612 else if (DtoIsPassedByRef(vd->type)) 612 else if (DtoIsPassedByRef(vd->type))
613 { 613 {
614 Logger::println("skipping arg storage for aggregate (%s) %s ", vd->loc.toChars(), vd->toChars()); 614 Logger::println("skipping arg storage for aggregate (%s) %s ", vd->loc.toChars(), vd->toChars());
615 if (global.params.symdebug) 615 LLValue* vdirval = vd->ir.getIrValue();
616 DtoDwarfLocalVariable(vd->ir.getIrValue(), vd); 616 if (global.params.symdebug && !(isaArgument(vdirval) && !isaArgument(vdirval)->hasByValAttr()))
617 DtoDwarfLocalVariable(vdirval, vd);
617 continue; 618 continue;
618 } 619 }
619 620
620 LLValue* a = vd->ir.irLocal->value; 621 LLValue* a = vd->ir.irLocal->value;
621 assert(a); 622 assert(a);