Thread overview
[Issue 7016] New: local import does not create -deps dependency
Nov 26, 2011
Vladimir Panteleev
Jan 12, 2013
Andrej Mitrovic
Jan 12, 2013
Andrej Mitrovic
Apr 07, 2013
Andrej Mitrovic
Apr 07, 2013
Martin Nowak
Apr 17, 2013
jfanatiker@gmx.at
Apr 17, 2013
Vladimir Panteleev
Apr 17, 2013
jfanatiker@gmx.at
November 26, 2011
http://d.puremagic.com/issues/show_bug.cgi?id=7016

           Summary: local import does not create -deps dependency
           Product: D
           Version: D2
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody@puremagic.com
        ReportedBy: thecybershadow@gmail.com


--- Comment #0 from Vladimir Panteleev <thecybershadow@gmail.com> 2011-11-25 21:19:34 PST ---
a.d : import b; void main() { f(); }
b.d : int f() { import c; return i; }
c.d : int i = 42;

The command
$ dmd -deps=a.deps -o- a.d
creates:
a (a.d) : public : object
(C:\\Soft\\dmd2d\\windows\\bin\\..\\..\\import\\druntime\\object.di)
b (b.d) : public : object
(C:\\Soft\\dmd2d\\windows\\bin\\..\\..\\import\\druntime\\object.di)
a (a.d) : public : b (b.d)

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 12, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=7016


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |thelastmammoth@gmail.com


--- Comment #1 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-01-11 19:14:58 PST ---
*** Issue 8858 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
January 12, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=7016



--- Comment #2 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-01-11 19:15:13 PST ---
*** Issue 8856 has been marked as a duplicate of this issue. ***

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 07, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=7016


Andrej Mitrovic <andrej.mitrovich@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andrej.mitrovich@gmail.com


--- Comment #3 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2013-04-07 11:13:38 PDT ---
Apparently it's because semantic isn't run on the dependencies. It's in Import::semantic where the import is printed.

You can verify this with that -rb feature.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 07, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=7016


Martin Nowak <code@dawg.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |code@dawg.eu


--- Comment #4 from Martin Nowak <code@dawg.eu> 2013-04-07 11:50:45 PDT ---
Right, semantic3 for imported functions is only run during the inline pass.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=7016


jfanatiker@gmx.at changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jfanatiker@gmx.at


--- Comment #5 from jfanatiker@gmx.at 2013-04-17 05:46:19 PDT ---
I am not sure this really needs to be fixed:

b.d either needs to be built at some point, then the dependency is printed and can be gathered by tools or it does not get built, in this case it does not matter either, because any use of the function would need to be inlined, causing the dependency to be printed. If the function is not used at all, then the dependency also does not matter.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=7016



--- Comment #6 from Vladimir Panteleev <thecybershadow@gmail.com> 2013-04-17 15:53:52 EEST ---
jfanatiker, the compiler is supposed to print the dependencies between all modules when given just the starting point. This is the purpose of the -deps switch, it is not intended to be run once for every module in the program. The same goes for the verbose output (-v).

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
April 17, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=7016



--- Comment #7 from jfanatiker@gmx.at 2013-04-17 06:10:03 PDT ---
(In reply to comment #6)
> jfanatiker, the compiler is supposed to print the dependencies between all modules when given just the starting point. This is the purpose of the -deps switch, it is not intended to be run once for every module in the program. The same goes for the verbose output (-v).

I see. You are right of course, I viewed it from an incremental build tool perspective, where it would not matter, but for rdmd this bug is of course a problem.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
July 12, 2013
http://d.puremagic.com/issues/show_bug.cgi?id=7016



--- Comment #8 from thelastmammoth@gmail.com 2013-07-11 23:26:15 PDT ---
see http://forum.dlang.org/post/mailman.1984.1373610213.13711.digitalmars-d@puremagic.com [fix for enumerating local import dependencies, resolving all rdmd link errors]

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