Removed warnings on ignored aligns. Only do aligment on packed structs, align(1) struct Packed { ... }

Changed the way struct/class fields are added, first small part of cleaning up these...
Make struct/class/union fields aware of any anonymous struct/union they might be part of, not yet really useful, but part of getting better union support.
This commit is contained in:
Tomas Lindquist Olsen
2008-10-28 15:41:09 +01:00
parent 07f35424f1
commit 6cf5ca6aba
10 changed files with 81 additions and 24 deletions

View File

@@ -991,19 +991,10 @@ void VarDeclaration::toObjFile(int multiobj)
else
gIR->constInitList.push_back(this);
}
// inside aggregate declaration. declare a field.
else
{
Logger::println("Aggregate var declaration: '%s' offset=%d", toChars(), offset);
const LLType* _type = DtoType(type);
this->ir.irField = new IrField(this);
// add the field in the IRStruct
gIR->topstruct()->offsets.insert(std::make_pair(offset, IrStruct::Offset(this, _type)));
assert(ir.irField != 0);
}
Logger::println("VarDeclaration::toObjFile is done");
}