Bug 12010 – [REG DMD2.065-b1] Undefined template symbols for static library linked with debug symbols

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2014-01-27T03:37:00Z
Last change time
2014-01-27T14:46:07Z
Keywords
link-failure, pull
Assigned to
nobody
Creator
sludwig

Comments

Comment #0 by sludwig — 2014-01-27T03:37:31Z
a.d --- import b; void main() {} --- b.d --- import std.container : Array, BinaryHeap; BinaryHeap!(Array!int) test; --- dmd -g -lib b.d dmd -g a.d b.lib results in: OPTLINK (R) for Win32 Release 8.00.15 Copyright (C) Digital Mars 1989-2013 All rights reserved. http://www.digitalmars.com/ctg/optlink.html a.obj(a) Error 42: Symbol Undefined _D3std9container12__T5ArrayTiZ5Array7Payload10__postblitMFZv a.obj(a) Error 42: Symbol Undefined _D3std9container52__T10BinaryHeapTS3std9container12__T5ArrayTiZ5ArrayZ10BinaryHeap4Data15__fieldPostBlitMFZv --- errorlevel 2 Removing -g makes it link. -allinst doesn't have an effect. Still happens in DMD 2.065.0-b2, but works for DMD 2.064.
Comment #1 by k.hara.pg — 2014-01-27T06:40:06Z
Guilty commit: SHA-1: ebae884d9cd3a0c4ebf3c1b129654ba31ee0e73f * Merge pull request #2832 from 9rnsr/fix10329 Issue 10329 - Attributes not inferred for indirectly templated methods Compiler fix: https://github.com/D-Programming-Language/dmd/pull/3165
Comment #2 by github-bugzilla — 2014-01-27T08:40:09Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/cd68a5d0c6c5066f9c441d73d7f8ec07a48401b5 fix Issue 12010 - Undefined template symbols for static library linked with debug symbols Struct destructors and postblits will be stored in TypeInfo. So, partial semantic3 running for structs declared in non-root modules should also consider them. https://github.com/D-Programming-Language/dmd/commit/fa8c689f7c78cb48d8688dc2639e9d8eb8e055c5 Merge pull request #3165 from 9rnsr/fix12010 [REG2.065a] Issue 12010 - Undefined template symbols for static library linked with debug symbols
Comment #3 by github-bugzilla — 2014-01-27T14:46:07Z
Commit pushed to 2.065 at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/b8efdd9ec2c67dcf7410c70dedcb74cde28794a6 Merge pull request #3165 from 9rnsr/fix12010 [REG2.065a] Issue 12010 - Undefined template symbols for static library linked with debug symbols