On 2011-02-13 07:52, Nick Sabalausky wrote:
"golgeliyele"<[email protected]> wrote in messageThe error reporting has issues as well. I noticed that the compiler leaks low level errors to the user. If you forget to add a main to your app or misspell it, you get errors like: ==== Undefined symbols: "__Dmain", referenced from: _D2rt6dmain24mainUiPPaZi7runMainMFZv in libphobos2.a(dmain2_513_1a5.o) ==== I mean, wow, this should really be handled better.That's not the compiler, that's the linker. I don't know what linker DMD uses on OSX, but on Windows it uses OPTLINK which is written in hand-optimized Asm so it's really hard to change. But Walter's been converting it to C (and maybe then to D once that's done) bit-by-bit (so to speak), so linker improvements are at least on the horizon. AIUI, on Linux, DMD just uses the GCC linker, and GCC unfortunately doesn't know anything about D name mangling, just C/C++. Might be true of OSX as well, I don't know though.
As you know, on Windows DMD uses OPTLINK and on all other platforms GCC is used.
-- /Jacob Carlborg
