diff gen/structs.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 058d3925950e
children 027b8d8b71ec
line wrap: on
line diff
--- a/gen/structs.h	Thu Nov 15 00:24:44 2007 +0100
+++ b/gen/structs.h	Fri Nov 16 08:21:47 2007 +0100
@@ -2,10 +2,29 @@
 #define LLVMD_GEN_STRUCTS_H
 
 struct StructInitializer;
+
 const llvm::Type* DtoStructType(Type* t);
+
 llvm::Value* DtoStructZeroInit(llvm::Value* v);
 llvm::Value* DtoStructCopy(llvm::Value* dst, llvm::Value* src);
+
 llvm::Constant* DtoConstStructInitializer(StructInitializer* si);
+
+/**
+ * Provides the llvm declaration for a struct
+ */
+void DtoDeclareStruct(StructDeclaration* sd);
+
+/**
+ * Constructs the constant default initializer a struct
+ */
+void DtoConstInitStruct(StructDeclaration* sd);
+
+/**
+ * Provides the llvm definition for a struct
+ */
+void DtoDefineStruct(StructDeclaration* sd);
+
 llvm::Value* DtoIndexStruct(llvm::Value* ptr, StructDeclaration* sd, Type* t, unsigned os, std::vector<unsigned>& idxs);
 
 struct DUnionField