Mercurial > projects > ldc
changeset 190:36044016709a trunk
[svn r206] Fixed some interfaceInfo related issues, closes #44
author | lindquist |
---|---|
date | Mon, 12 May 2008 14:32:29 +0200 |
parents | 3aed08fb64f4 |
children | 2900754a6989 |
files | gen/classes.cpp llvmdc.kdevelop.filelist |
diffstat | 2 files changed, 5 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/gen/classes.cpp Sat May 10 19:00:11 2008 +0200 +++ b/gen/classes.cpp Mon May 12 14:32:29 2008 +0200 @@ -434,9 +434,6 @@ if (cd->ir.initialized) return; cd->ir.initialized = true; - if (cd->isInterfaceDeclaration()) - return; // nothing to do - Logger::println("DtoConstInitClass(%s): %s", cd->toPrettyChars(), cd->loc.toChars()); LOG_SCOPE; @@ -463,15 +460,10 @@ std::vector<llvm::Constant*> fieldinits; // first field is always the vtable - if (cd->isAbstract()) + if (cd->isAbstract() || cd->isInterfaceDeclaration()) { - fieldinits.push_back( - llvm::ConstantPointerNull::get( - getPtrToType( - ts->ir.vtblType->get() - ) - ) - ); + const llvm::Type* ptrTy = getPtrToType(ts->ir.vtblType->get()); + fieldinits.push_back(llvm::Constant::getNullValue(ptrTy)); } else {
--- a/llvmdc.kdevelop.filelist Sat May 10 19:00:11 2008 +0200 +++ b/llvmdc.kdevelop.filelist Mon May 12 14:32:29 2008 +0200 @@ -292,8 +292,6 @@ tango/lib/compiler/llvmdc/memory.d tango/lib/compiler/llvmdc/monitor.c tango/lib/compiler/llvmdc/qsort2.d -tango/lib/compiler/llvmdc/std -tango/lib/compiler/llvmdc/std/intrinsic.d tango/lib/compiler/llvmdc/switch.d tango/lib/compiler/llvmdc/typeinfo tango/lib/compiler/llvmdc/typeinfo/ti_AC.d @@ -1029,3 +1027,5 @@ test/virtcall.d test/with1.d tester.d +tests +tests/findregressions.d