sean [Fri, 17 Oct 2008 03:06:32 +0000 (03:06 +0000)]
Fixed a few build script issues on posix, including a bug in looking for some of the core modules in the wrong place, and a hack to eliminate filename collision with the dmd compiler runtime. This latter issue really needs to be addressed in a better way, but at this point my priority is just to get the build working.
sean [Wed, 15 Oct 2008 21:33:55 +0000 (21:33 +0000)]
* Changed top-level exception class name from 'Exception' to 'Throwable'.
* 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).
sean [Mon, 13 Oct 2008 19:44:27 +0000 (19:44 +0000)]
Fixed a potential issue with building druntime. src/core will now be a part of the import path. This is necessary if any of the core modules import one another--not the case now, but better safe than sorry.
sean [Tue, 30 Sep 2008 19:50:33 +0000 (19:50 +0000)]
Added "invariant" module to fix link issues because DMD generates references to an extern (D) function it contains. Hopefully, this is only temporary and the routine will be made extern (C), thus allowing the use of "invariant_" instead. The rationale being that it's not a good thing to have modules with the same name as reserved words.
sean [Sat, 20 Sep 2008 02:53:43 +0000 (02:53 +0000)]
The next batch of updates towards D2 support. The lib should be pretty close to compiling with D2 now, and the D2 runtime changes have been reduced to a compact set of pure additions (few/no alterations). Next update will be aimed at finishing the process of getting the lib to build with -w set under D2, which will mean adding "override" where necessary to the compiler runtime as well as figuring out how to deal with the use of 'volatile' in the thread code.