Mercurial > projects > ldc
annotate gen/structs.h @ 862:e8337278f49b
temporary fix for runtime buildscript to copy ldc's imports to tango
author | elrood |
---|---|
date | Thu, 18 Dec 2008 19:21:44 +0100 |
parents | 340acf1535d0 |
children | af7a6faf9406 |
rev | line source |
---|---|
88
058d3925950e
[svn r92] Fixed support for statically initialized unions. lots of bugfixes as cleanups too.
lindquist
parents:
diff
changeset
|
1 #ifndef LLVMD_GEN_STRUCTS_H |
058d3925950e
[svn r92] Fixed support for statically initialized unions. lots of bugfixes as cleanups too.
lindquist
parents:
diff
changeset
|
2 #define LLVMD_GEN_STRUCTS_H |
058d3925950e
[svn r92] Fixed support for statically initialized unions. lots of bugfixes as cleanups too.
lindquist
parents:
diff
changeset
|
3 |
058d3925950e
[svn r92] Fixed support for statically initialized unions. lots of bugfixes as cleanups too.
lindquist
parents:
diff
changeset
|
4 struct StructInitializer; |
100 | 5 |
213
7816aafeea3c
[svn r229] Updated the object.d implementation to the latest Tango.
lindquist
parents:
102
diff
changeset
|
6 LLConstant* DtoConstStructInitializer(StructInitializer* si); |
100 | 7 |
8 /** | |
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
|
9 * Resolves the llvm type for a struct |
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
|
10 */ |
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
|
11 void DtoResolveStruct(StructDeclaration* sd); |
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
|
12 |
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
|
13 /** |
100 | 14 * Provides the llvm declaration for a struct |
15 */ | |
16 void DtoDeclareStruct(StructDeclaration* sd); | |
17 | |
18 /** | |
19 * Constructs the constant default initializer a struct | |
20 */ | |
21 void DtoConstInitStruct(StructDeclaration* sd); | |
22 | |
23 /** | |
24 * Provides the llvm definition for a struct | |
25 */ | |
26 void DtoDefineStruct(StructDeclaration* sd); | |
27 | |
344
e20ce6d8d374
[svn r365] Implemented raw struct equality comparison, uses C memcmp.
lindquist
parents:
244
diff
changeset
|
28 /** |
e20ce6d8d374
[svn r365] Implemented raw struct equality comparison, uses C memcmp.
lindquist
parents:
244
diff
changeset
|
29 * Returns a boolean=true if the two structs are equal |
e20ce6d8d374
[svn r365] Implemented raw struct equality comparison, uses C memcmp.
lindquist
parents:
244
diff
changeset
|
30 */ |
e20ce6d8d374
[svn r365] Implemented raw struct equality comparison, uses C memcmp.
lindquist
parents:
244
diff
changeset
|
31 LLValue* DtoStructEquals(TOK op, DValue* lhs, DValue* rhs); |
e20ce6d8d374
[svn r365] Implemented raw struct equality comparison, uses C memcmp.
lindquist
parents:
244
diff
changeset
|
32 |
705
5a2983f97498
Fixed weird struct problem from downs, see mini/compile_structs1.d
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
435
diff
changeset
|
33 // index a struct one level |
5a2983f97498
Fixed weird struct problem from downs, see mini/compile_structs1.d
Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
parents:
435
diff
changeset
|
34 LLValue* DtoIndexStruct(LLValue* src, StructDeclaration* sd, VarDeclaration* vd); |
88
058d3925950e
[svn r92] Fixed support for statically initialized unions. lots of bugfixes as cleanups too.
lindquist
parents:
diff
changeset
|
35 |
058d3925950e
[svn r92] Fixed support for statically initialized unions. lots of bugfixes as cleanups too.
lindquist
parents:
diff
changeset
|
36 #endif |