diff dmd/aggregate.h @ 100:5071469303d4 trunk

[svn r104] TONS OF FIXES. Split up declaration, constant initializer gen and definition for globals, structs, classes and functions. Improved ClassInfo support (not complete), not in vtable yet. Fixed a bunch of forward reference problems. Much more. Major commit! :)
author lindquist
date Fri, 16 Nov 2007 08:21:47 +0100
parents ce7ed8f59b99
children 027b8d8b71ec
line wrap: on
line diff
--- a/dmd/aggregate.h	Thu Nov 15 00:24:44 2007 +0100
+++ b/dmd/aggregate.h	Fri Nov 16 08:21:47 2007 +0100
@@ -43,8 +43,9 @@
     class Value;
     class Constant;
     class ConstantStruct;
+    class GlobalVariable;
 }
-
+struct IRStruct;
 struct DUnion;
 
 struct AggregateDeclaration : ScopeDsymbol
@@ -101,12 +102,14 @@
     Symbol *toInitializer();
 
     bool llvmInProgress;
-    const llvm::Type* llvmType;
-    llvm::Constant* llvmVtbl;
+    llvm::GlobalVariable* llvmVtbl;
     llvm::ConstantStruct* llvmConstVtbl;
     llvm::Constant* llvmInitZ;
+    llvm::GlobalVariable* llvmClass;
+    llvm::Constant* llvmClassZ;
     bool llvmHasUnions;
     DUnion* llvmUnion;
+    IRStruct* llvmIRStruct;
 
     AggregateDeclaration *isAggregateDeclaration() { return this; }
 };