Mercurial > projects > ldc
comparison dmd/dsymbol.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 | c53b6e3fe49a |
children | 027b8d8b71ec |
comparison
equal
deleted
inserted
replaced
99:a676a7743642 | 100:5071469303d4 |
---|---|
65 struct SymbolDeclaration; | 65 struct SymbolDeclaration; |
66 struct Expression; | 66 struct Expression; |
67 struct DeleteDeclaration; | 67 struct DeleteDeclaration; |
68 struct HdrGenState; | 68 struct HdrGenState; |
69 struct TypeInfoDeclaration; | 69 struct TypeInfoDeclaration; |
70 struct ClassInfoDeclaration; | |
70 | 71 |
71 #if IN_GCC | 72 #if IN_GCC |
72 union tree_node; | 73 union tree_node; |
73 typedef union tree_node TYPE; | 74 typedef union tree_node TYPE; |
74 #else | 75 #else |
210 virtual DeleteDeclaration *isDeleteDeclaration() { return NULL; } | 211 virtual DeleteDeclaration *isDeleteDeclaration() { return NULL; } |
211 #endif | 212 #endif |
212 virtual SymbolDeclaration *isSymbolDeclaration() { return NULL; } | 213 virtual SymbolDeclaration *isSymbolDeclaration() { return NULL; } |
213 virtual AttribDeclaration *isAttribDeclaration() { return NULL; } | 214 virtual AttribDeclaration *isAttribDeclaration() { return NULL; } |
214 virtual TypeInfoDeclaration* isTypeInfoDeclaration() { return NULL; } | 215 virtual TypeInfoDeclaration* isTypeInfoDeclaration() { return NULL; } |
216 virtual ClassInfoDeclaration* isClassInfoDeclaration() { return NULL; } | |
215 | 217 |
216 // llvm stuff | 218 // llvm stuff |
217 int llvmInternal; | 219 int llvmInternal; |
218 char* llvmInternal1; | 220 char* llvmInternal1; |
219 char* llvmInternal2; | 221 char* llvmInternal2; |
220 | 222 |
221 llvm::Value* llvmValue; | 223 llvm::Value* llvmValue; |
222 Module* llvmDModule; | 224 Module* llvmDModule; |
225 | |
226 bool llvmTouched; | |
223 }; | 227 }; |
224 | 228 |
225 // Dsymbol that generates a scope | 229 // Dsymbol that generates a scope |
226 | 230 |
227 struct ScopeDsymbol : Dsymbol | 231 struct ScopeDsymbol : Dsymbol |