diff gen/tollvm.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 c4e161556a21
children 027b8d8b71ec
line wrap: on
line diff
--- a/gen/tollvm.h	Thu Nov 15 00:24:44 2007 +0100
+++ b/gen/tollvm.h	Fri Nov 16 08:21:47 2007 +0100
@@ -9,10 +9,6 @@
 bool DtoIsPassedByRef(Type* type);
 Type* DtoDType(Type* t);
 
-const llvm::FunctionType* DtoFunctionType(Type* t, const llvm::Type* thistype, bool ismain = false);
-const llvm::FunctionType* DtoFunctionType(FuncDeclaration* fdecl);
-llvm::Function* DtoDeclareFunction(FuncDeclaration* fdecl);
-
 const llvm::StructType* DtoDelegateType(Type* t);
 llvm::Value* DtoNullDelegate(llvm::Value* v);
 llvm::Value* DtoDelegateCopy(llvm::Value* dst, llvm::Value* src);
@@ -28,12 +24,8 @@
 
 const llvm::StructType* DtoComplexType(const llvm::Type* base);
 
-void DtoMain();
-
-void DtoCallClassDtors(TypeClass* tc, llvm::Value* instance);
-void DtoInitClass(TypeClass* tc, llvm::Value* dst);
-
 llvm::Constant* DtoConstInitializer(Type* type, Initializer* init);
+llvm::Constant* DtoConstFieldInitializer(Type* type, Initializer* init);
 DValue* DtoInitializer(Initializer* init);
 
 llvm::Function* LLVM_DeclareMemSet32();
@@ -66,7 +58,9 @@
 
 void DtoLazyStaticInit(bool istempl, llvm::Value* gvar, Initializer* init, Type* t);
 
-void DtoClassInfo(ClassDeclaration* cd);
+void DtoDefineDsymbol(Dsymbol* dsym);
+void DtoConstInitDsymbol(Dsymbol* dsym);
+void DtoConstInitGlobal(VarDeclaration* vd);
 
 // llvm wrappers
 void DtoMemCpy(llvm::Value* dst, llvm::Value* src, llvm::Value* nbytes);