[Issue 9571] New: linkage issue when using separate compilation and closures
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Feb 22 10:15:10 PST 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9571
Summary: linkage issue when using separate compilation and
closures
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: deadalnix at gmail.com
--- Comment #0 from deadalnix <deadalnix at gmail.com> 2013-02-22 10:15:07 PST ---
a.d :
import std.array;
void main() {
import b;
foo(new A);
}
b.d :
module b;
class C {
}
class A {
C[] cs;
}
import std.algorithm;
auto foo(A a) {
auto b = new B;
a.cs.map!((C c){ return b.visit(c); });
}
class B {
C visit(C c) {
return c;
}
}
compilation :
dmd -op -odobj/a -c src/a.d -m64
dmd -op -odobj/b -c src/b.d -m64
dmd -ofbin/sdc `find obj/a obj/b -type f | grep '\.o$'` -m64
Error :
obj/a/src/a.o: In function
`_D1b3fooFC1b1AZv59__T9MapResultS35_D1b3foo12__lambda1196MFC1b1CZC1b1CTAC1b1CZ9MapResult4backMFNdZC1b1C':
src/a.d:(.text._D1b3fooFC1b1AZv59__T9MapResultS35_D1b3foo12__lambda1196MFC1b1CZC1b1CTAC1b1CZ9MapResult4backMFNdZC1b1C+0x64):
undefined reference to `_D1b3fooFC1b1AZv12__lambda1196MFC1b1CZC1b1C'
obj/a/src/a.o: In function
`_D1b3fooFC1b1AZv59__T9MapResultS35_D1b3foo12__lambda1196MFC1b1CZC1b1CTAC1b1CZ9MapResult5frontMFNdZC1b1C':
src/a.d:(.text._D1b3fooFC1b1AZv59__T9MapResultS35_D1b3foo12__lambda1196MFC1b1CZC1b1CTAC1b1CZ9MapResult5frontMFNdZC1b1C+0x64):
undefined reference to `_D1b3fooFC1b1AZv12__lambda1196MFC1b1CZC1b1C'
obj/a/src/a.o: In function
`_D1b3fooFC1b1AZv59__T9MapResultS35_D1b3foo12__lambda1196MFC1b1CZC1b1CTAC1b1CZ9MapResult7opIndexMFmZC1b1C':
src/a.d:(.text._D1b3fooFC1b1AZv59__T9MapResultS35_D1b3foo12__lambda1196MFC1b1CZC1b1CTAC1b1CZ9MapResult7opIndexMFmZC1b1C+0x77):
undefined reference to `_D1b3fooFC1b1AZv12__lambda1196MFC1b1CZC1b1C'
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list