www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 13774] New: Multiple definition of `conv_50c_dc8` with three

https://issues.dlang.org/show_bug.cgi?id=13774

          Issue ID: 13774
           Summary: Multiple definition of `conv_50c_dc8` with three
                    libraries and `std.file` import
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: regression
          Priority: P1
         Component: Phobos
          Assignee: nobody puremagic.com
          Reporter: verylonglogin.reg gmail.com

The first library is Phobos. This code should build fine:

m1.d & m2.d:
---
import std.file;
---
Command (for Windows):
---
dmd -debug -lib m1.d
dmd -debug -lib m2.d m1.lib
---
m2.lib: Error: multiple definition of conv_50c_dc8:
_D3std4conv52__T18emplaceInitializerTSАЕдfile15DirIterato∙АГкZАФ▒FNaNbNcNeKАЬ║4iАГ▓yАЫв
and conv:
_D3std4conv52__T18emplaceInitializerTSАЕдfile15DirIterato∙АГкZАФ▒FNaNbNcNeKАЬ║4iАГ▓yАЫв
---
(command output is probably encoded in CP1251)

This issue almost blocks Phobos usage in real projects as it breaks building
libraries and linker error doesn't give any clue of its reason.

Also see Issue 13359.

Note: this report is about Phobos regression preventing its usage. Underlying
compiler bug is some critical bug triggered by current Phobos version.


Tools versions:
dmd: c0e814350948feac34946c29186d17518ea954dd
druntime: 2350ee4ec77d7b919454eb2f16d91b23c3891cb6
phobos: e46ccaae82d6ddbd0c98ac233562204c7007f296

--
Nov 25 2014