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; }
 };