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