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