Appender example doesn't work with GDC. GDC bug?

BoraxMan rotflol2 at hotmail.com
Sat Dec 28 13:06:02 UTC 2019


On Saturday, 28 December 2019 at 10:41:56 UTC, Mike Parker wrote:
> On Saturday, 28 December 2019 at 08:25:16 UTC, BoraxMan wrote:
>
>> The problem is that GDC is part of GCC now, and part of the 
>> Fedora installation I'm using.  I take it then if I am to 
>> start a new project where I may end up providing binaries, I 
>> should eschew using the GDC compiler and use LDC instead?  
>> This kind of consideration is not an issue when using C or C++ 
>> (at least in Linux).  By default the choice is correct.
>
> If by "correct" you mean the latest and greatest in terms of 
> language and library features, then that means DMD. GDC doesn't 
> have the sort of manpower behind that gcc and g++ benefit from. 
> As I understand it, the version that ships with GCC was further 
> hampered by being locked in quite some time ago due to the GCC 
> release cycle.
>
> You have three D compilers to choose from. Use the one that 
> meets your needs. They all can put out compatible binary output 
> on any given platform.

What I mean by 'correct', is that despite the fact there are 
different C stdlibs out there overall, there is generally one 
which forms the core of a Linux install, and the same is true 
with other unices, as far as I can tell.  For Linux, its glibc, 
regardless of whether I choose GCC or CLANG, the binary links to 
one libc, the same one.  With D though, there is a libphobos for 
each compiler, so if a Linux distro for example was to start 
packaging D software, they would probably want to settle on a 
specific libphobos, which means me using a different compiler 
would mean the end user having to bring in a second libphobos on 
top of the one the distro was designed around.  Then you have 
libraries which may also use libphobos, such as dlangui, which a 
program may link against.

The right compiler is the one which fits best in the "ecosystem" 
of my target audience, not the best for me personally.



More information about the D.gnu mailing list