From bb98d68f64b5f3d7ac818d448abf836eb669303f Mon Sep 17 00:00:00 2001 From: Tomas Lindquist Olsen Date: Thu, 16 Apr 2009 11:01:49 +0200 Subject: [PATCH] Now compiles again, and fixed type of the Interface[N] ClassInfo symbol. --- gen/classes.cpp | 2 +- ir/irclass.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gen/classes.cpp b/gen/classes.cpp index ffc9317e..84b3d793 100644 --- a/gen/classes.cpp +++ b/gen/classes.cpp @@ -60,7 +60,7 @@ void DtoResolveClass(ClassDeclaration* cd) // emit the interfaceInfosZ symbol if necessary if (cd->vtblInterfaces && cd->vtblInterfaces->dim > 0) - getInterfaceArraySymbol(); // initializer is applied when it's built + irstruct->getInterfaceArraySymbol(); // initializer is applied when it's built // perform definition if (needs_def) diff --git a/ir/irclass.cpp b/ir/irclass.cpp index 86b3fe63..5ab16a3a 100644 --- a/ir/irclass.cpp +++ b/ir/irclass.cpp @@ -83,10 +83,10 @@ LLGlobalVariable * IrStruct::getInterfaceArraySymbol() assert(cd->vtblInterfaces && cd->vtblInterfaces->dim > 0 && "should not create interface info array for class with no explicit " - "interface implementations") + "interface implementations"); VarDeclarationIter idx(ClassDeclaration::classinfo->fields, 3); - const llvm::Type* InterfaceTy = DtoType(idx->type); + const llvm::Type* InterfaceTy = DtoType(idx->type->next); // create Interface[N] const llvm::ArrayType* array_type = llvm::ArrayType::get(