OpenBSD port of dmd?

Walter Bright newshound2 at digitalmars.com
Fri Mar 16 15:27:32 PDT 2012


On 3/16/2012 1:38 PM, Jonathan M Davis wrote:
> That's not necessarily a bad thing,

It's very deliberate, and it's *certainly* not a bad thing. No ifs, ands, or 
buts about it.

Supporting a new OS by assuming that declarations for some other random OS will 
work is a recipe for unending frustration and disaster. For example, suppose 
there is a subtle difference in the layout of the FILE* struct. OOPS!

The way the versioning is done it:

1. forces the porter to check that stuff.

2. exposes all the places in the library where there is OS dependent code

There should never, EVER, in the library code be something like:

   version (FreeBSD)
     ... do something weird with FreeBSD ...
   else
     ... do the default ...

If you find any code like this in the library, please file a bugzilla entry for it.

Instead:

   version (FreeBSD)
     ... do something weird with FreeBSD ...
   else
     static assert(0, "OS not supported");




More information about the Digitalmars-d mailing list