Treat ConditionalDeclarations correctly in DtoDeclarationExp.

Fixes #332.
This commit is contained in:
Christian Kamm
2009-06-26 17:18:36 +02:00
parent 8e8837737a
commit 8bbf6ab984

View File

@@ -979,10 +979,12 @@ DValue* DtoDeclarationExp(Dsymbol* declaration)
else if (AttribDeclaration* a = declaration->isAttribDeclaration())
{
Logger::println("AttribDeclaration");
if (a->decl)
for (int i=0; i < a->decl->dim; ++i)
// choose the right set in case this is a conditional declaration
Array *d = a->include(NULL, NULL);
if (d)
for (int i=0; i < d->dim; ++i)
{
DtoDeclarationExp((Dsymbol*)a->decl->data[i]);
DtoDeclarationExp((Dsymbol*)d->data[i]);
}
}
// mixin declaration