# HG changeset patch # User Christian Kamm # Date 1224965240 -7200 # Node ID 3e143b611c1e52181629fcc73f7154c9a492755a # Parent 6de2ed4f0abe85b514d8974803255c4958698791 Fix double field toObjFile for structs with AttribDecls. diff -r 6de2ed4f0abe -r 3e143b611c1e gen/structs.cpp --- 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 {