Mercurial > projects > ldc
diff gen/structs.cpp @ 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 | 5a2983f97498 |
children | 041c1596d217 |
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 {