Mercurial > projects > ldc
view tangotests/j.d @ 276:21f85bac0b1a trunk
[svn r297] Fixed: rewrote linker code to use LLVM's Program facilities instead of DMD's oldschool broken "native" approach.
author | lindquist |
---|---|
date | Fri, 20 Jun 2008 17:45:13 +0200 |
parents | 44a95ac7368a |
children |
line wrap: on
line source
module j; interface Inter1 { int func1(); } interface Inter2 { int func2(); } class C12 : Inter1, Inter2 { int func1() { return 1; } int func2() { return 2; } } void func(Object c) { auto i1 = cast(Inter1)c; assert(i1.func1() == 1); auto i2 = cast(Inter2)c; assert(i2.func2() == 2); auto j1 = cast(Inter1)i2; assert(j1.func1() == 1); auto j2 = cast(Inter2)i1; assert(j2.func2() == 2); } void main() { scope c = new C12; func(c); printf("OK\n"); } extern(C) int printf(char*,...);