OpenBSD port of dmd?
Sean Kelly
sean at invisibleduck.org
Sat Mar 17 07:10:41 PDT 2012
Pretty much. I'd expect to see:
version (linux) {
// optimized impl
} else version (OSX) {
version = UseDefault;
} else {
static assert(false, "unknown platform");
}
version (UseDefault) {
...
}
This way, new platforms have to be evaluated, but once they are they can all share whatever common implementation is the default.
On Mar 17, 2012, at 3:31 AM, Alix Pexton <alix.DOT.pexton at gmail.DOT.com> wrote:
> I think Walter and Andrei are both right, just about different things.
>
> I think Walter is right that there is no such thing as a default implementation when it comes to compatibility with the host environment, and asserting is the best course of action.
>
> I think Andrei is right that when a particular environment has some advantageous alternate implementation of a feature it can be used while leaving the default for the cases where said feature is unavailable.
>
> Walter is concerned with compatibility, Andrei with opportunistic optimisation.
>
> Knowing how to tell the difference is the real trick, and that is often a much harder thing to pin down. Code that potentially needs to be different on every platform should assert when the platform is unrecognised. Code which is specialised for just a few platforms and has a "known good" default can use else to provide said default. When unsure, assert is the more cautious option.
>
> A...
More information about the Digitalmars-d
mailing list