← Back to index
|
Original Bugzilla link
Bug 9377 – Link-failure regression cause by fixing issue 8504
Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-01-23T01:29:00Z
Last change time
2013-01-24T15:33:29Z
Keywords
link-failure, pull
Assigned to
nobody
Creator
k.hara.pg
Comments
Comment #0
by k.hara.pg — 2013-01-23T01:29:53Z
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; }
Comment #1
by k.hara.pg — 2013-01-23T22:52:35Z
https://github.com/D-Programming-Language/dmd/pull/1543
Comment #2
by github-bugzilla — 2013-01-24T14:27:43Z
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.