www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 374] New: -ofd: outputs to root directory instead of current on that drive

reply d-bugmail puremagic.com writes:

           Summary: -ofd: outputs to root directory instead of current on
                    that drive
           Product: D
           Version: 0.167
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: link-failure
          Severity: critical
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla digitalmars.com
        ReportedBy: smjg iname.com

This is technically a linker bug rather than a DMD bug, but I'm filing it here
for want of anywhere better to file it.  I hope nobody minds.

If you do (note no backslash)

dmd something.d -ofd:something.exe

or simply

dmd something.d -ofd:

then the output goes to the root directory of drive d, regardless of what
directory is current on that drive.  It should be outputting to the directory
that is current on the drive.


dmd something.d -ofd:tests\

should output to the directory called tests under the current directory on
drive d.

I have made out that this is a bug in the linker rather than DMD itself
- DMD correctly interprets the same notation used to specify the name of a
source file.
- If I do it on -od, then DMD places the .obj file in the right place, but the
linker cannot find it:

D:\My Documents\Programming\D>dmd people.d -ode:
E:\DMD\BIN\..\..\dm\bin\link.exe e:people,,,user32+kernel32/noi;
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

 Error 2: File Not Found e:people.obj
--- errorlevel 1

I am calling this critical because there's a risk that, by outputting to the
wrong directory, it will overwrite existing executables there.

Sep 26 2006
parent d-bugmail puremagic.com writes:

bugzilla digitalmars.com changed:

           What    |Removed                     |Added
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED

------- Comment #1 from bugzilla digitalmars.com  2006-10-04 19:55 -------
Fixed DMD 0.168

Oct 04 2006