comparison gen/classes.cpp @ 799:9f92b6e40fd3

Do put zero in vtable initializer for function without body in abstract class.
author Christian Kamm <kamm incasoftware de>
date Sat, 29 Nov 2008 17:13:38 +0100
parents 340acf1535d0
children c8d9b30a0dc2
comparison
equal deleted inserted replaced
798:92ea3015ace6 799:9f92b6e40fd3
558 // Logger::println("vtbl[%d] = %s", k, dsym->toChars()); 558 // Logger::println("vtbl[%d] = %s", k, dsym->toChars());
559 559
560 FuncDeclaration* fd = dsym->isFuncDeclaration(); 560 FuncDeclaration* fd = dsym->isFuncDeclaration();
561 assert(fd); 561 assert(fd);
562 562
563 if (fd->isAbstract()) 563 if (fd->isAbstract() || (cd->isAbstract() && !fd->fbody))
564 { 564 {
565 sinits[k] = getNullPtr(getVoidPtrType()); 565 sinits[k] = getNullPtr(getVoidPtrType());
566 } 566 }
567 else 567 else
568 { 568 {