www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 9567] New: "Symbol Undefined" linker error after separating project part into library

http://d.puremagic.com/issues/show_bug.cgi?id=9567

           Summary: "Symbol Undefined" linker error after separating
                    project part into library
           Product: D
           Version: D2
          Platform: All
        OS/Version: Windows
            Status: NEW
          Keywords: link-failure
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: verylonglogin.reg gmail.com


--- Comment #0 from Denis Shelomovskij <verylonglogin.reg gmail.com> 2013-02-22
10:07:55 MSK ---
The issue is triggered when separated project part `y.lib` uses function
`a.m1.f1` which is in `x.obj` (`f1` is also used in `x.obj` itself):

a.m1.d (from x.obj):
---
module a.m1;

...
    f1(); // calls f1
...

struct S1(alias f)
{ }

S1!(() => 0) f1()
{ assert(0); }
---

Linker output:
---
y.lib(m3)
 Error 42: Symbol Undefined
_D1a2m12f1FZS1a2m140__T2S1S30_D1a2m112__lambda2088FNaNbNfZiZ2S1
---

Issue test case:

* 7z (1.38 MiB):
http://deoma-cmd.ru/files/other/d-issues-test-cases/linker-error-2-test-case.7z

* Zip (2.55 MiB):
http://deoma-cmd.ru/files/other/d-issues-test-cases/linker-error-2-test-case.zip

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 21 2013