Support structs that are merely a forward reference. See mini/forwdecl1.d

This commit is contained in:
Tomas Lindquist Olsen
2008-10-06 14:06:55 +02:00
parent f706098c56
commit ecd8a2ac07
3 changed files with 24 additions and 6 deletions

View File

@@ -129,10 +129,10 @@ DValue* VarExp::toElem(IRState* p)
if (vd->isDataseg() || (vd->storage_class & STCextern)) {
vd->toObjFile(0); // TODO: multiobj
}
if (!vd->ir.isSet() || !vd->ir.getIrValue() || DtoType(vd->type)->isAbstract()) {
error("global variable %s not resolved", vd->toChars());
if (!vd->ir.isSet() || !vd->ir.getIrValue()) {
error("variable %s not resolved", vd->toChars());
if (Logger::enabled())
Logger::cout() << "unresolved global had type: " << *DtoType(vd->type) << '\n';
Logger::cout() << "unresolved variable had type: " << *DtoType(vd->type) << '\n';
fatal();
}
if (vd->isDataseg() || (vd->storage_class & STCextern)) {