Mercurial > projects > ldc
diff dmd/aggregate.h @ 8:5e69b77a5c51 trunk
[svn r12] fixed accessing aggregate fields of aggregates
removed some useless branches for successive scopes ala {}{}{}
author | lindquist |
---|---|
date | Thu, 27 Sep 2007 06:03:06 +0200 |
parents | c53b6e3fe49a |
children | 25bb577878e8 |
line wrap: on
line diff
--- a/dmd/aggregate.h Wed Sep 26 19:17:54 2007 +0200 +++ b/dmd/aggregate.h Thu Sep 27 06:03:06 2007 +0200 @@ -18,6 +18,8 @@ #include "root.h" #include "dsymbol.h" +#include <vector> + struct Identifier; struct Type; struct TypeFunction; @@ -97,7 +99,7 @@ llvm::Type* llvmType; llvm::Value* llvmVtbl; llvm::Constant* llvmInitZ; - virtual unsigned offsetToIndex(unsigned os); // converts a DMD field offsets to LLVM struct index + virtual void offsetToIndex(unsigned os, std::vector<unsigned>& result); // converts a DMD field offsets to LLVM struct index vector AggregateDeclaration *isAggregateDeclaration() { return this; } }; @@ -232,7 +234,7 @@ Symbol *vtblsym; - virtual unsigned offsetToIndex(unsigned os); + virtual void offsetToIndex(unsigned os, std::vector<unsigned>& result); ClassDeclaration *isClassDeclaration() { return (ClassDeclaration *)this; } };