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