Mercurial > projects > ldc
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 { |