Mercurial > projects > ldc
comparison ir/irclass.cpp @ 1263:4fc43e173a0f
Merge
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Sat, 25 Apr 2009 18:27:11 +0200 |
parents | ec1d9dc1d32a 854e86eaa022 |
children | dd135ff697fa |
comparison
equal
deleted
inserted
replaced
1262:ec1d9dc1d32a | 1263:4fc43e173a0f |
---|---|
130 assert(dsym && "null vtbl member"); | 130 assert(dsym && "null vtbl member"); |
131 | 131 |
132 FuncDeclaration* fd = dsym->isFuncDeclaration(); | 132 FuncDeclaration* fd = dsym->isFuncDeclaration(); |
133 assert(fd && "vtbl entry not a function"); | 133 assert(fd && "vtbl entry not a function"); |
134 | 134 |
135 if ((cd->isAbstract() || fd->isAbstract()) && !fd->fbody) | 135 if (fd->isAbstract() && !fd->fbody) |
136 { | 136 { |
137 c = getNullValue(DtoType(fd->type->pointerTo())); | 137 c = getNullValue(DtoType(fd->type->pointerTo())); |
138 } | 138 } |
139 else | 139 else |
140 { | 140 { |
330 } | 330 } |
331 | 331 |
332 FuncDeclaration* fd = dsym->isFuncDeclaration(); | 332 FuncDeclaration* fd = dsym->isFuncDeclaration(); |
333 assert(fd && "vtbl entry not a function"); | 333 assert(fd && "vtbl entry not a function"); |
334 | 334 |
335 assert(!((fd->isAbstract() || cd->isAbstract()) && !fd->fbody) && | 335 assert((!fd->isAbstract() || fd->fbody) && |
336 "null symbol in interface implementation vtable"); | 336 "null symbol in interface implementation vtable"); |
337 | 337 |
338 fd->codegen(Type::sir); | 338 fd->codegen(Type::sir); |
339 assert(fd->ir.irFunc && "invalid vtbl function"); | 339 assert(fd->ir.irFunc && "invalid vtbl function"); |
340 | 340 |