annotate gen/classes.h @ 107:3efbcc81ba45 trunk

[svn r111] Fixed most problems with complex number support and added typeinfo for them. Added typeinfo ti_C. Did some changes to the way expressions that have both lvalue and rvalue LLVM values are handled.
author lindquist
date Tue, 20 Nov 2007 00:02:35 +0100
parents 027b8d8b71ec
children 27b9f749d9fe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
100
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
1 #ifndef LLVMDC_GEN_CLASSES_H
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
2 #define LLVMDC_GEN_CLASSES_H
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
3
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
4 /**
102
027b8d8b71ec [svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
lindquist
parents: 100
diff changeset
5 * Resolves the llvm type for a class declaration
027b8d8b71ec [svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
lindquist
parents: 100
diff changeset
6 */
027b8d8b71ec [svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
lindquist
parents: 100
diff changeset
7 void DtoResolveClass(ClassDeclaration* cd);
027b8d8b71ec [svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
lindquist
parents: 100
diff changeset
8
027b8d8b71ec [svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
lindquist
parents: 100
diff changeset
9 /**
100
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
10 * Provides the llvm declaration for a class declaration
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
11 */
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
12 void DtoDeclareClass(ClassDeclaration* cd);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
13
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
14 /**
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
15 * Constructs the constant initializer for a class declaration
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
16 */
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
17 void DtoConstInitClass(ClassDeclaration* cd);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
18
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
19 /**
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
20 * Provides the llvm definition for a class declaration
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
21 */
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
22 void DtoDefineClass(ClassDeclaration* cd);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
23
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
24 void DtoDeclareClassInfo(ClassDeclaration* cd);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
25 void DtoDefineClassInfo(ClassDeclaration* cd);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
26
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
27 void DtoCallClassDtors(TypeClass* tc, llvm::Value* instance);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
28 void DtoInitClass(TypeClass* tc, llvm::Value* dst);
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
29
5071469303d4 [svn r104] TONS OF FIXES.
lindquist
parents:
diff changeset
30 #endif