On Friday, 30 November 2018 at 01:31:12 UTC, mawk wrote:
On Friday, 30 November 2018 at 00:43:59 UTC, Andrew Pennebaker wrote:
Given that gcc v9 should have built-in support for compiling D code, and that dmd requires gcc, will dmd continue to be supported? Or perhaps have its guts incorporated completely into gcc?

DMD doesn't really require GCC, GCC is in theory used for compatibility with modules compiled with gcc according to dmd(1), and in practice used for linking.

The linking step could be done with ld alone if you know what to type, and it's honestly pretty complicated, and you still need components from gcc, for various reasons:

LIBGCCDIR=$(cc -print-file-name=)
CRTDIR=/usr/lib/$(cc -dumpmachine)

ld -L $LIBGCCDIR $CRTDIR/Scrt1.o $CRTDIR/crti.o $LIBGCCDIR/crtbeginS.o \
YOUROBJECT.o -E --push-state -static -lphobos2 --pop-state \
-lpthread -lm -lrt -ldl -lc -lgcc -lgcc_s $LIBGCCDIR/crtendS.o $CRTDIR/crtn.o

gcc is currently required for dmd on FreeBSD, as dmd links to libstdc++.

Reply via email to