www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 18234] New: [REG 2.075] Case of link failure when a program


          Issue ID: 18234
           Summary: [REG 2.075] Case of link failure when a program is
                    compiled against a static lib
           Product: D
           Version: D2
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: regression
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: b2.temp gmx.com

This is a case of link failure when a program is compiled against a static lib,
while no problem when passing the sources.

test case is unfortuantely not reduced:

to reproduce with a shell script

if [ ! -d "iz" ]; then
    git clone https://www.github.com/BBasile/iz.git

cd iz
git checkout v0.6.4
cd scripts
sh compile.sh
cd ../
dmd samples/dictionnary_suffixarray.d lib/iz.a -Iimport

On the other hand:

dub samples/dictionnary_suffixarray.d <<< "q"

or even

dmd samples/dictionnary_suffixarray.d import/iz/strings.d import/iz/memory.d

work fine.

Digger shows that last good DMD is 2.074.1. Three commits are suggested:

 digger: Commit 1e7b526b40852e9b85df3684430e371034cdf7ec (1/1) is untestable.
 digger: There are only untestable commits left to bisect.
 digger: The first bad commit could be any of:
 digger: 1e7b526b40852e9b85df3684430e371034cdf7ec
 digger: 6fecaa8232a427fb3ca29c5a5245e08fc43b71b1
 digger: f0410bea1ad2b130884964d603b34e729b3e4f69
 object.Exception bisect.d(186): We cannot bisect more!
However they don't seem to exist. --
Jan 13