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;