Fix double field toObjFile for structs with AttribDecls.

This commit is contained in:
Christian Kamm
2008-10-25 22:07:20 +02:00
parent 80e29f86e4
commit 4d7af01374

View File

@@ -108,19 +108,12 @@ void DtoResolveStruct(StructDeclaration* sd)
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 @@ void DtoResolveStruct(StructDeclaration* sd)
fd->toObjFile(0); // TODO: multiobj
}
}
else if (s->isAttribDeclaration()) {
else if (s->isAttribDeclaration() ||
s->isVarDeclaration() ||
s->isTemplateMixin()) {
s->toObjFile(0); // TODO: multiobj
}
else {