Mercurial > projects > ldc
comparison gen/structs.h @ 705:5a2983f97498
Fixed weird struct problem from downs, see mini/compile_structs1.d
Rewrote DtoIndexStruct/Class , the old implementation were way too complex for what we really need now - since the DotVar changes.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Tue, 14 Oct 2008 15:35:49 +0200 |
parents | 74101be2a553 |
children | 340acf1535d0 |
comparison
equal
deleted
inserted
replaced
704:43165a082535 | 705:5a2983f97498 |
---|---|
28 /** | 28 /** |
29 * Returns a boolean=true if the two structs are equal | 29 * Returns a boolean=true if the two structs are equal |
30 */ | 30 */ |
31 LLValue* DtoStructEquals(TOK op, DValue* lhs, DValue* rhs); | 31 LLValue* DtoStructEquals(TOK op, DValue* lhs, DValue* rhs); |
32 | 32 |
33 typedef LLSmallVector<unsigned, 3> DStructIndexVector; | 33 // index a struct one level |
34 LLValue* DtoIndexStruct(LLValue* ptr, StructDeclaration* sd, Type* t, unsigned os, DStructIndexVector& idxs); | 34 LLValue* DtoIndexStruct(LLValue* src, StructDeclaration* sd, VarDeclaration* vd); |
35 | 35 |
36 struct DUnionField | 36 struct DUnionField |
37 { | 37 { |
38 unsigned offset; | 38 unsigned offset; |
39 size_t size; | 39 size_t size; |