[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! :)
This commit is contained in:
Tomas Lindquist Olsen
2007-11-16 08:21:47 +01:00
parent 7d6bbcd87d
commit d1cfe9524c
35 changed files with 1824 additions and 1452 deletions

View File

@@ -21,11 +21,14 @@
#include "arraytypes.h"
#include "expression.h"
// LLVMDC
namespace llvm
{
class Value;
class Type;
class Instruction;
class Type;
class PATypeHolder;
class GlobalVariable;
}
struct Scope;
@@ -250,7 +253,7 @@ struct Type : Object
virtual type *toCParamtype();
virtual Symbol *toSymbol();
const llvm::Type* llvmType;
llvm::PATypeHolder* llvmType;
// For eliminating dynamic_cast
virtual TypeBasic *isTypeBasic();
@@ -540,7 +543,7 @@ struct TypeStruct : Type
type *toCtype();
llvm::Constant* llvmInit;
llvm::GlobalVariable* llvmInit;
};
struct TypeEnum : Type
@@ -638,7 +641,7 @@ struct TypeClass : Type
Symbol *toSymbol();
llvm::Constant* llvmInit;
llvm::GlobalVariable* llvmInit;
};
struct TypeTuple : Type