I have built rdmd with gdc and have tried to build a simple hello world program with it. Results: [mist@fog devel]$ rdmd --chatty tmp.d stat /tmp/.rdmd-1000 stat /tmp/.rdmd-1000/rdmd-tmp.d-77E7597A9EFF6B225DBE8D26FFAE1883 stat /tmp/.rdmd-1000/rdmd-tmp.d-77E7597A9EFF6B225DBE8D26FFAE1883/rdmd.deps 'gdmd' '--' '-v' '-o-' 'tmp.d' '-I.' gdmd: unrecognized switch '--' Failed: 'gdmd' '--' '-v' '-o-' 'tmp.d' '-I.' According to source code, rdmd seems to always prepend "--" before other parameters: 110 // Insert "--" to tell getopts when to stop 111 args = args[0..programPos] ~ "--" ~ args[programPos .. $];
This behavior is caused by a (now fixed) bug in Phobos, and rdmd's reliance on that bug. See here: http://d.puremagic.com/issues/show_bug.cgi?id=9583 http://d.puremagic.com/issues/show_bug.cgi?id=9622 To resolve the problem, compile rdmd against a matching version of Phobos, or patch rdmd locally.
Thanks. I think the best actually is to contact gdc-git package maintainer in AUR to add building of matching rdmd to package.