mirror of
https://github.com/ldc-developers/ldc.git
synced 2025-05-06 02:45:25 +03:00
Now compiles again, and fixed type of the Interface[N] ClassInfo symbol.
This commit is contained in:
parent
37cf5a5789
commit
bb98d68f64
2 changed files with 3 additions and 3 deletions
|
@ -60,7 +60,7 @@ void DtoResolveClass(ClassDeclaration* cd)
|
||||||
|
|
||||||
// emit the interfaceInfosZ symbol if necessary
|
// emit the interfaceInfosZ symbol if necessary
|
||||||
if (cd->vtblInterfaces && cd->vtblInterfaces->dim > 0)
|
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
|
// perform definition
|
||||||
if (needs_def)
|
if (needs_def)
|
||||||
|
|
|
@ -83,10 +83,10 @@ LLGlobalVariable * IrStruct::getInterfaceArraySymbol()
|
||||||
|
|
||||||
assert(cd->vtblInterfaces && cd->vtblInterfaces->dim > 0 &&
|
assert(cd->vtblInterfaces && cd->vtblInterfaces->dim > 0 &&
|
||||||
"should not create interface info array for class with no explicit "
|
"should not create interface info array for class with no explicit "
|
||||||
"interface implementations")
|
"interface implementations");
|
||||||
|
|
||||||
VarDeclarationIter idx(ClassDeclaration::classinfo->fields, 3);
|
VarDeclarationIter idx(ClassDeclaration::classinfo->fields, 3);
|
||||||
const llvm::Type* InterfaceTy = DtoType(idx->type);
|
const llvm::Type* InterfaceTy = DtoType(idx->type->next);
|
||||||
|
|
||||||
// create Interface[N]
|
// create Interface[N]
|
||||||
const llvm::ArrayType* array_type = llvm::ArrayType::get(
|
const llvm::ArrayType* array_type = llvm::ArrayType::get(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue