Incorrect behavior of -Hd option

Jay Sistar jaysistar at yahoo.com
Fri Jul 23 12:34:43 PDT 2010


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.


More information about the Digitalmars-d-bugs mailing list