* Changed the Linux build to use DMD's -lib feature as well. Untested, but I'll do that shortly.
* Propagated the -lib build approach to the D 1.0 branch.
* Fixed code coverage feature such that the output files will be ./basename.lst instead of basename.d.lst located in their original path. The previous
behavior was breaking on linux where the install path is typically read-only, and should now match the old phobos code coverage feature.
* The following new build options have been added:
- release (default)
- debug
- unittest
* Debug libraries are now generated by the build-dmd scripts and have a "-d" appended to their name. These libraries have both "-g" and "-debug" set to enable asserts and symbol info.
* Added unittest.d to run unit tests.
* Added test-dmd.bat to build and run unit tests on Win32. A problem currently exists with this feature, and once it has been resolved a test-dmd.sh will be added as well.
* Changed the implementation of sleep() on Windows such that a yield will not be forced upon the user if they pass an interval that evaluates to zero. For more information regarding Sleep(0), see the MSDN docs.
* Renamed ArrayBoundsException to RangeError in an attempt to be more general.
* Renamed onArrayBoundsError callback to onRangeError to make handling of these conditions more general as well. Ideally, this will allow the same callback to be used for other purposes in the future.
* Moved stdc.posix into core.sys.posix
* Moved stdc into core.stdc
* Added initial support for Runtime.loadLibrary() and Runtime.unloadLibrary() in D2. The same functions are exposed in D1, but they are stubbed out for the moment. The basic library loading and unloading should theoretically work, but the GC handle swapping code still needs a look, etc. I left the D1 version stubbed out to make finding GC diffs easier for when I look at the handle swapping code (which is in D2 but not D1). Still not sure about the function naming either... may just switch to load() and unload().
* Created a new class 'Exception' which derives from 'Throwable'.
* Created a new class 'Error' which derives from 'Throwable'.
* Moved core modules from the top level into a package named 'core'.
* Added onHiddenFuncError() routine to pass hidden function error handling from the runtime to core.exception.
* Renamed _d_getErrno to getErrno and moved it to src/common/stdc. The idea is that druntime may eventually generate a lib for the stdc modules, and this definition is necessary. The comparable function will have to be removed from Phobos as well.
* Moved the GC code into a package named 'gc', which is in accordance with the spec defined for druntime library integration (as yet unpublished).