Mercurial > projects > ldc
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; } };