December 14, 2016
https://issues.dlang.org/show_bug.cgi?id=7016

--- Comment #16 from Andrei Alexandrescu <andrei@erdani.com> ---
Thanks. Razvan will be on this.

--
December 21, 2016
https://issues.dlang.org/show_bug.cgi?id=7016

--- Comment #17 from RazvanN <razvan.nitu1305@gmail.com> ---
Cannot reproduce on Ubuntu 16.04, latest version of compiler. Hopefully I will try on a windows machine when I get the chance

--
December 21, 2016
https://issues.dlang.org/show_bug.cgi?id=7016

--- Comment #18 from Vladimir Panteleev <thecybershadow@gmail.com> ---
(In reply to RazvanN from comment #17)
> Cannot reproduce on Ubuntu 16.04, latest version of compiler. Hopefully I will try on a windows machine when I get the chance

What have you tried? I can reproduce it exactly as per the original description from 2011.

--
December 21, 2016
https://issues.dlang.org/show_bug.cgi?id=7016

--- Comment #19 from RazvanN <razvan.nitu1305@gmail.com> ---
I ran the exact example as the one in 2011 with the exact command and the output is:

(a.d) : private : object (..)
(b.d) : private : object (..)
(a.d) : private : b (b.d)
(c.d) : private : object (..)
(a.d) : private : c (c.d)

It seems to me that it prints all the dependencies of a.d

--
December 21, 2016
https://issues.dlang.org/show_bug.cgi?id=7016

--- Comment #20 from Vladimir Panteleev <thecybershadow@gmail.com> ---
(In reply to RazvanN from comment #19)
> I ran the exact example as the one in 2011 with the exact command and the output is:
> 
> (a.d) : private : object (..)
> 
> (b.d) : private : object (..)
> (a.d) : private : b (b.d)
> (c.d) : private : object (..)
> (a.d) : private : c (c.d)
> 
> It seems to me that it prints all the dependencies of a.d

Strange... I can't get that result with DMD 2.072.1 or latest git master (on Linux). What compiler version did you use, exactly?

--
December 21, 2016
https://issues.dlang.org/show_bug.cgi?id=7016

--- Comment #21 from RazvanN <razvan.nitu1305@gmail.com> ---
(In reply to Vladimir Panteleev from comment #20)
> (In reply to RazvanN from comment #19)
> > I ran the exact example as the one in 2011 with the exact command and the output is:
> > 
> > (a.d) : private : object (..)
> > 
> > (b.d) : private : object (..)
> > (a.d) : private : b (b.d)
> > (c.d) : private : object (..)
> > (a.d) : private : c (c.d)
> > 
> > It seems to me that it prints all the dependencies of a.d
> 
> Strange... I can't get that result with DMD 2.072.1 or latest git master (on Linux). What compiler version did you use, exactly?

DMD64 D Compiler v2.073.0-devel-878b882

--
December 22, 2016
https://issues.dlang.org/show_bug.cgi?id=7016

--- Comment #22 from Alexey G <golovanov_alexey@mail.ru> ---
>dmd --version
DMD32 D Compiler v2.072.0-master-386ef6d
Copyright (c) 1999-2016 by Digital Mars written by Walter Bright

Windows 7 32 bit

exact example from first post produce a.deps:

a (a.d) : private : object
(R:\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.d)
b (b.d) : private : object
(R:\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.d)
a (a.d) : private : b (b.d)

--
December 22, 2016
https://issues.dlang.org/show_bug.cgi?id=7016

--- Comment #23 from Alexey G <golovanov_alexey@mail.ru> ---
Sorry, loaded latest

>dmd --version
DMD32 D Compiler v2.072.1
Copyright (c) 1999-2016 by Digital Mars written by Walter Bright

Windows 7 32 bit
exact example from first post produce a.deps:

a (a.d) : private : object
(R:\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.d)
b (b.d) : private : object
(R:\\dmd2\\windows\\bin\\..\\..\\src\\druntime\\import\\object.d)
a (a.d) : private : b (b.d)

--
December 22, 2016
https://issues.dlang.org/show_bug.cgi?id=7016

--- Comment #24 from Alexey G <golovanov_alexey@mail.ru> ---
same result on nightly

DMD32 D Compiler v2.073.0-master-cb7f8fe

--
December 30, 2016
https://issues.dlang.org/show_bug.cgi?id=7016

--- Comment #25 from Vladimir Panteleev <thecybershadow@gmail.com> ---
(In reply to RazvanN from comment #17)
> Cannot reproduce on Ubuntu 16.04, latest version of compiler.

I can reproduce this on a brand new Ubuntu 16.04 amd64 installation. Please see the log below. Something on your system must be causing you to get a different result, please try in a new chroot or virtual machine.

--------------------------------------------------------------------------

~/tmp/2016-12-30b $ sudo debootstrap --arch amd64 xenial xenial
http://archive.ubuntu.com/ubuntu/
[...]
sudo debootstrap --arch amd64 xenial xenial http://archive.ubuntu.com/ubuntu/
24.10s user 3.41s system 35% cpu 1:17.96 total

~/tmp/2016-12-30b $ sudo systemd-nspawn -D xenial
Spawning container xenial on /home/vladimir/tmp/2016-12-30b/xenial.
Press ^] three times within 1s to kill container.
root@xenial:~# apt install curl xz-utils
[...]
root@xenial:~# curl -fsS https://dlang.org/install.sh | bash -s dmd
######################################################################## 100.0%
The latest version of this script was installed as ~/dlang/install.sh.
It can be used it to install further D compilers.
Run `~/dlang/install.sh --help` for usage information.

Downloading and unpacking http://downloads.dlang.org/releases/2.x/2.072.1/dmd.2.072.1.linux.tar.xz ######################################################################## 100.0% Downloading https://dlang.org/d-keyring.gpg ######################################################################## 100.0% Downloading and unpacking http://code.dlang.org/files/dub-1.1.1-linux-x86_64.tar.gz ######################################################################## 100.0%

Run `source ~/dlang/dmd-2.072.1/activate` in your shell to use dmd-2.072.1.
This will setup PATH, LIBRARY_PATH, LD_LIBRARY_PATH, DMD, DC, and PS1.
Run `deactivate` later on to restore your environment.
root@xenial:~# source ~/dlang/dmd-2.072.1/activate
(dmd-2.072.1)root@xenial:~# echo 'import b; void main() { f(); }' > a.d
(dmd-2.072.1)root@xenial:~# echo 'int f() { import c; return i; }' > b.d
(dmd-2.072.1)root@xenial:~# echo 'int i = 42;' > c.d
(dmd-2.072.1)root@xenial:~# dmd -deps=a.deps -o- a.d
(dmd-2.072.1)root@xenial:~# cat a.deps
a (a.d) : private : object
(/root/dlang/dmd-2.072.1/linux/bin64/../../src/druntime/import/object.d)
b (b.d) : private : object
(/root/dlang/dmd-2.072.1/linux/bin64/../../src/druntime/import/object.d)
a (a.d) : private : b (b.d)
(dmd-2.072.1)root@xenial:~#

--