[svn r28] * Fixed accessing aggregate fields. it was still not quite right. hopefully is now :)

This commit is contained in:
Tomas Lindquist Olsen
2007-10-04 10:13:21 +02:00
parent 53038b0f5e
commit 24c3e2649a
5 changed files with 47 additions and 24 deletions
+2 -2
View File
@@ -99,7 +99,7 @@ struct AggregateDeclaration : ScopeDsymbol
llvm::Type* llvmType;
llvm::Value* llvmVtbl;
llvm::Constant* llvmInitZ;
virtual void offsetToIndex(unsigned os, std::vector<unsigned>& result); // converts a DMD field offsets to LLVM struct index vector
virtual void offsetToIndex(Type* t, unsigned os, std::vector<unsigned>& result); // converts a DMD field offsets to LLVM struct index vector
AggregateDeclaration *isAggregateDeclaration() { return this; }
};
@@ -234,7 +234,7 @@ struct ClassDeclaration : AggregateDeclaration
Symbol *vtblsym;
virtual void offsetToIndex(unsigned os, std::vector<unsigned>& result);
virtual void offsetToIndex(Type* t, unsigned os, std::vector<unsigned>& result);
ClassDeclaration *isClassDeclaration() { return (ClassDeclaration *)this; }
};