Mercurial > projects > ldc
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); |