mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-02-02 21:13:13 +01:00
Fixed inserting an AA entry with 'this' as key.
Fixed debug info for aggregate parameters. Only seems to work on byval arguments.
This commit is contained in:
@@ -22,6 +22,10 @@ static LLValue* to_pkey(Loc& loc, DValue* key)
|
||||
if (key->isIm()) {
|
||||
pkey = key->getRVal();
|
||||
}
|
||||
else if (key->isThis()) {
|
||||
pkey = key->getRVal();
|
||||
needmem = true;
|
||||
}
|
||||
else if (DVarValue* var = key->isVar()) {
|
||||
if (var->lval) {
|
||||
pkey = key->getLVal();
|
||||
|
||||
@@ -612,8 +612,9 @@ void DtoDefineFunc(FuncDeclaration* fd)
|
||||
else if (DtoIsPassedByRef(vd->type))
|
||||
{
|
||||
Logger::println("skipping arg storage for aggregate (%s) %s ", vd->loc.toChars(), vd->toChars());
|
||||
if (global.params.symdebug)
|
||||
DtoDwarfLocalVariable(vd->ir.getIrValue(), vd);
|
||||
LLValue* vdirval = vd->ir.getIrValue();
|
||||
if (global.params.symdebug && !(isaArgument(vdirval) && !isaArgument(vdirval)->hasByValAttr()))
|
||||
DtoDwarfLocalVariable(vdirval, vd);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user