Mercurial > projects > ldc
changeset 725:3e143b611c1e
Fix double field toObjFile for structs with AttribDecls.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sat, 25 Oct 2008 22:07:20 +0200 |
parents | 6de2ed4f0abe |
children | 8d46c475842a |
files | gen/structs.cpp |
diffstat | 1 files changed, 5 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/gen/structs.cpp Sat Oct 25 18:12:07 2008 +0200 +++ b/gen/structs.cpp Sat Oct 25 22:07:20 2008 +0200 @@ -108,19 +108,12 @@ irstruct->packed = ispacked; - // fields - Array* arr = &sd->fields; - for (int k=0; k < arr->dim; k++) { - VarDeclaration* v = (VarDeclaration*)arr->data[k]; - v->toObjFile(0); // TODO: multiobj - } - bool thisModule = false; if (sd->getModule() == gIR->dmodule) thisModule = true; - // methods - arr = sd->members; + // methods, fields + Array* arr = sd->members; for (int k=0; k < arr->dim; k++) { Dsymbol* s = (Dsymbol*)arr->data[k]; if (FuncDeclaration* fd = s->isFuncDeclaration()) { @@ -128,7 +121,9 @@ fd->toObjFile(0); // TODO: multiobj } } - else if (s->isAttribDeclaration()) { + else if (s->isAttribDeclaration() || + s->isVarDeclaration() || + s->isTemplateMixin()) { s->toObjFile(0); // TODO: multiobj } else {