www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 7016] New: local import does not create -deps dependency

reply d-bugmail puremagic.com writes:
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



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: -------
Nov 25 2011
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7016


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

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



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: -------
Jan 11 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7016




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: -------
Jan 11 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
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



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: -------
Apr 07 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7016


Martin Nowak <code dawg.eu> changed:

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



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: -------
Apr 07 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7016


jfanatiker gmx.at changed:

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



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: -------
Apr 17 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7016




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: -------
Apr 17 2013
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7016





 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: -------
Apr 17 2013
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7016




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: -------
Jul 11 2013