On Monday, 9 October 2017 at 08:10:41 UTC, Iain Buclaw wrote:
On 9 October 2017 at 10:03, Eugene Wissner via
On Sunday, 24 September 2017 at 09:27:42 UTC, Iain Buclaw
That would almost certainly only happen if you were using a
different druntime. Check where your import modules are
coming from, they probably aren't gdc's.
Ah yes. Thanks a lot for the hint. I tried to compile with
"-v" and got:
import object (/usr/include/d/object.d)
entry main test.d
"/usr/include/d/core" is the druntime of dmd. gdc's one is in:
But GCC wants to use "/usr/include/d/" for some reason. If I
then the example above compiles.
I wasn't able to find how to change it. I'll probably change
the runtime and
phobos paths for dmd and move gcc's D directories into their
It might be a configure flag to change that. Though I think at
least Archlinux just applies local patches to all compilers to
point the system directory explicitly to different locations.
I'd say it's a dmd package bug for putting dmd sources in
/usr/include/d, when this should be reserved for more general D
I've chosen "/usr/include/d" for dmd since freebsd seems to use
it and IIRC the debian-family aswell (I'm maintaining dmd package
I compared installation directories for c/c++ and gcc include
files are in "/usr/include/c++/5.3.0/", llvm:
"/usr/include/llvm". So the appropriate way would be probably
just to put dmd stuff in "/usr/include/dmd".
Maybe I'll look into it later again. At least I have a quick
solution for now to get both compilers work on one system.