Wiki Roadmap Timeline Tickets New Ticket Source Search Help / Guide About Trac Login

Ticket #277 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

Assertion `finalinit->getType() == ir->classInfo->getType()->getContainedType(0) && "__ClassZ initializer does not match the ClassInfo type"' failed.

Reported by: mrmonday Assigned to: ChristianK
Priority: major Milestone:
Component: unspecified Version: hg tip
Keywords: Cc:

Description

When running ./build-ldc.sh using tango/trunk, I get the following assertion:

ldc: /home/robert/d/comp/ldc/gen/classes.cpp:819: llvm::Constant* DtoDefineClassInfo(ClassDeclaration*): Assertion `finalinit->getType() == ir->classInfo->getType()->getContainedType(0) && "__ClassZ initializer does not match the ClassInfo type"' failed.
0   ldc             0x0000000000d6ebef
1   ldc             0x0000000000d6efe9
2   libpthread.so.0 0x00002b09d922e920
3   libc.so.6       0x00002b09da2420c5 gsignal + 53
4   libc.so.6       0x00002b09da2435e3 abort + 387
5   libc.so.6       0x00002b09da23b0e9 __assert_fail + 233
6   ldc             0x0000000000615871 DtoDefineClassInfo(ClassDeclaration*) + 2769
7   ldc             0x00000000006791f5 IrStruct::getClassInfoInit() + 37
8   ldc             0x0000000000615d1c DtoResolveClass(ClassDeclaration*) + 428
9   ldc             0x0000000000614e28 DtoDefineClassInfo(ClassDeclaration*) + 136
10  ldc             0x00000000006791f5 IrStruct::getClassInfoInit() + 37
11  ldc             0x0000000000615d1c DtoResolveClass(ClassDeclaration*) + 428
12  ldc             0x000000000067473a TypeInfoClassDeclaration::llvmDefine() + 122
13  ldc             0x00000000006739ac DtoConstInitTypeInfo(TypeInfoDeclaration*) + 60
14  ldc             0x00000000006741c0 DtoDeclareTypeInfo(TypeInfoDeclaration*) + 352
15  ldc             0x00000000006743b5 DtoResolveTypeInfo(TypeInfoDeclaration*) + 309
16  ldc             0x0000000000673eb7 Type::getTypeInfo(Scope*) + 247
17  ldc             0x000000000062804a DtoTypeInfoOf(Type*, bool) + 26
18  ldc             0x0000000000615d14 DtoResolveClass(ClassDeclaration*) + 420
19  ldc             0x0000000000615bc8 DtoResolveClass(ClassDeclaration*) + 88
20  ldc             0x0000000000674a98 TypeInfoInterfaceDeclaration::llvmDefine() + 120
21  ldc             0x00000000006739ac DtoConstInitTypeInfo(TypeInfoDeclaration*) + 60
22  ldc             0x00000000006741c0 DtoDeclareTypeInfo(TypeInfoDeclaration*) + 352
23  ldc             0x00000000006743b5 DtoResolveTypeInfo(TypeInfoDeclaration*) + 309
24  ldc             0x0000000000673eb7 Type::getTypeInfo(Scope*) + 247
25  ldc             0x000000000062804a DtoTypeInfoOf(Type*, bool) + 26
26  ldc             0x0000000000615d14 DtoResolveClass(ClassDeclaration*) + 420
27  ldc             0x0000000000615ce4 DtoResolveClass(ClassDeclaration*) + 372
28  ldc             0x0000000000672bb1 Module::genLLVMModule(Ir*) + 593
29  ldc             0x000000000063150d main + 5789
30  libc.so.6       0x00002b09da22e546 __libc_start_main + 230
31  ldc             0x000000000055b019

Tango Revision: 4615 LDC Version:

LLVM D Compiler rev. 1287:6c8af78364f5 (2009-05-02 12:19 +0200)
based on DMD v1.042 and LLVM trunk rev. 70291 (2009-04-28 07:24:09 +0100)

It seems to happen when using the following command:

ldc -c -release -O3 -inline -output-bc -w  -I../shared -I../../.. -I.   object_.d -ofobject_.o
make[2]: *** [object_.o] Aborted

Change History

05/09/09 23:01:22 changed by lindquist

Is this problem still present ? it seems to work for other people on IRC...

05/13/09 12:29:59 changed by mrmonday

  • status changed from new to closed.
  • resolution set to fixed.

Seems to be working with latest ldc and tango /trunk.

Copyright © 2008, LDC Development Team.