www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - Incorrect behavior of -Hd option

When compiling a library, if more than 1 .d file is specified with directories
in the path of the .d files and the -Hd
option is used, then DMD 2.047 does not take the directories in the paths in to
account when generating the .di
files. For example:

Directory of files:
file1.d
dir1/file2.d
dir2/file3.d

The DMD command line:
dmd -lib -oflibfile.a -Hdimport file1.d dir1/file2.d dir2/file3.d

Expected results:
libfile.a
import/file1.di
import/dir1/file2.di
import/dir2/file3.di

Actual results with DMD 2.047:
libfile.a
import/file1.di
import/file2.di
import/file3.di

Therefore, the compiler cannot find the correct path to the .di file when
compiling an application using this library
because if "import dir2.file2" were used in the application, the compiler would
look for a file in [imports
path]/dir2/file2.di, but it would (correctly) not look for that import as
[imports path]/file2.di, which is where DMD
2.047 outputs it.
Jul 23 2010