From: https://github.com/D-Programming-Language/dmd/pull/1096#issuecomment-12584452 ---- This pull breaks the following test case: C:\cbx\mars\test>..\dmd -m32 -c mula mulb -lib DMD v2.062 DEBUG C:\cbx\mars\test>..\dmd -m32 multi mula.lib DMD v2.062 DEBUG OPTLINK (R) for Win32 Release 8.00.12 Copyright (C) Digital Mars 1989-2010 All rights reserved. http://www.digitalmars.com/ctg/optlink.html multi.obj(multi) Error 42: Symbol Undefined _D4mulb8__T3defZ3memFZv mula.d: import std.c.stdio; import mulb; void abc() { printf("mulb.abc()\n"); foo(); bar(); } mulb.d: module mulb; import std.c.stdio; int j; int foo()() { printf("foo()\n"); static int z = 7; assert(z != 10); return ++z; } void bar() { assert(j == 7); foo(); printf("bar\n"); } template def() { alias int defint; static this() { printf("def.static this()\n"); j = 7; } void mem() { printf("def().mem()\n"); } } def!().defint x; multi.d: import std.c.stdio; import mula, mulb; int main() { printf("main\n"); abc(); def!().mem(); return 0; }
https://github.com/D-Programming-Language/dmd/pull/1543
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/6a0be5b98961a773c7380ac45f14f1a8a76349b9 fix Issue 9377 - Link-failure regression cause by fixing issue 8504 The test is disabled only in win64 platform. https://github.com/D-Programming-Language/dmd/commit/de4f8f6bf8dc9fcc1730ea4d7f2bbd3e74880f08 Merge pull request #1543 from 9rnsr/fix5933 Issue 5933 & 7159 & 9377 - Invoke function semantic3 correctly where it is required.