comparison gen/classes.cpp @ 423:3424f0fab7a9

Error instead of assert on unimplemented interface functions.
author Christian Kamm <kamm incasoftware de>
date Tue, 29 Jul 2008 10:55:58 +0200
parents fa91b03d9cd7
children 672eb4893b55
comparison
equal deleted inserted replaced
422:fa91b03d9cd7 423:3424f0fab7a9
654 654
655 for (int k=1; k < b->vtbl.dim; k++) 655 for (int k=1; k < b->vtbl.dim; k++)
656 { 656 {
657 Logger::println("interface vtbl const init nr. %d", k); 657 Logger::println("interface vtbl const init nr. %d", k);
658 Dsymbol* dsym = (Dsymbol*)b->vtbl.data[k]; 658 Dsymbol* dsym = (Dsymbol*)b->vtbl.data[k];
659 assert(dsym); 659
660 // error on unimplemented functions, error was already generated earlier
661 if(!dsym)
662 fatal();
663
660 FuncDeclaration* fd = dsym->isFuncDeclaration(); 664 FuncDeclaration* fd = dsym->isFuncDeclaration();
661 assert(fd); 665 assert(fd);
662 DtoForceDeclareDsymbol(fd); 666 DtoForceDeclareDsymbol(fd);
663 assert(fd->ir.irFunc->func); 667 assert(fd->ir.irFunc->func);
664 LLConstant* c = llvm::cast<llvm::Constant>(fd->ir.irFunc->func); 668 LLConstant* c = llvm::cast<llvm::Constant>(fd->ir.irFunc->func);