Yigal Chripun wrote:
let's go over the list one more time: 1) i can't use obj files from
different OSes or even different compilers on the same OS - so
definitly *not* platform neutral

Yes, but the .di files *are* platform neutral.

2) you need to parse a header file
in addition to linking functions from the lib file, how is that
better than having one file without needing to do any parsing of
headers at all?

You still have to read that file and get it into the D front end's data structures.

3) like Steve said, there is only one file so you
don't get syncing problems between the header and the object file.

Setting up a build tool to handle dependencies is trivial, and one already has to do that for object files, but even that step isn't necessary as D can simply use the original source file as its "header" file. .di files aren't necessary at all.

the bit-code object file already contains all the required metadata
and doesn't depend on a separate header file.

Something has to convert metadata into the D front end's data structures.

4)LLVM is already
implemented and has all the required tools for its format. ldc for
example can take advantage of this easily.

.di files are already implemented and work across all D implementations!


BTW, a point not mentioned is that dmd can build library files directly, without making object files. This would break if there had to be metadata in those object files needed by the front end.

Reply via email to