On Monday, 24 July 2023 at 09:29:09 UTC, Richard (Rikki) Andrew
Cattermole wrote:
There isn't a huge concern with which one you use.
Its quite common to use dmd for development, and ldc for
release for example.
They all share the same frontend, so they really only differ
between them by their glue code to the relevant backend and
some modules in druntime that are optional. Oh and inline
assembly, although there is some compat code in ldc/gdc for dmd
style.
If dmd dies, so does ldc/gdc basically. Each one sees active
development although gdc only has one developer. Ldc keeps up
with the dmd releases pretty well.
Is there any list of known significant "gotchas" with moving to
LDC from DMD? Any unexpected surprises to watch out for or be
careful for? I'm thinking of all the "features" of DMD that are
now considered verboten by many users (e.g. compiling with
-release, disabling of asserts or array bounds checking, etc).
Known edge cases of compiler optimization causing different
behavior between vendors?