Building phobos GDC
Rufus Smith via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Jul 22 13:26:50 PDT 2016
On Friday, 22 July 2016 at 19:52:59 UTC, Lodovico Giaretta wrote:
> On Friday, 22 July 2016 at 18:30:13 UTC, Rufus Smith wrote:
>> Trying to compile code that uses GDC, had to import phobos
>> files from dmd in to project since they are not in the GDC's
>> phobo lib(the core.sys.windows stuff).
>>
>> Almost all the errors are related to stuff like
>>
>> PALETTEENTRY* peNew() return { return _peNew.ptr; }
>>
>>
>> Does that even make sense?
>
> I'll add that, in general, it's a bad idea to mix the libraries
> of the various compilers. In fact, the library has the same
> release cycle as the frontend, and is specific to the frontend
> version it comes with. GDC is several frontend versions behind
> DMD, so GDC cannot support the new features / characteristics
> of the recent DMD libraries.
> You should always use a Phobos version as old as the frontend
> of the compiler you're using.
I don't agree with this. The versions are too far out of sync. It
is better to test the different versions together because they
are not consistent. As I yet I can neither use GDC or LDC because
they don't compile the code that works with DMD. This is a
problem with those compilers. If one could guarantee that the
oldest compiler was always compatible, eventually(reasonably),
with the newest one, it would be a different story. But bugs
creep in. I'd rather work with the reference compiler, the actual
one the language is based off of, rather than work with one that
is not even guaranteed to be maintained properly.
With dmd, I know exactly what I'm getting and I only bother with
the other compilers due to performance, which is not priority
when developing. Hence, I hope that the other compilers are up to
speed once I am finished with developing. This is a risk, but no
more than expecting those compilers to eventually be updated.
Given that the maintenance of LDC and GDC are rather low compared
to DMD, I'd rather stick with DMD.
More information about the Digitalmars-d-learn
mailing list