October 12, 2014
Hi kink!

On Saturday, 11 October 2014 at 21:21:08 UTC, kink wrote:
> On Saturday, 11 October 2014 at 11:18:45 UTC, Trass3r wrote:
>> Any chance of fixing EH?
>> It shouldn't be much effort but I don't know what could be wrong resp. how you can "debug" the unwind data and procedure.
>
> +1
> I have no experience in this field, so I won't be able to help out here. But as soon as this crucial point (EH) is reasonably working, we'll be able to work on the remaining MSVCRT x64 issues and hopefully promote that platform to a first D/LDC citizen. Can't wait to see that happen. :)

Exception chaining is not implemented on Win64/MSVC. Otherwise it should work(TM).

Regards,
Kai
October 12, 2014
On Sunday, 12 October 2014 at 16:55:46 UTC, Kai Nacke wrote:
> Exception chaining is not implemented on Win64/MSVC. Otherwise it should work(TM).

I was under the impression that both Trass3r and kink were getting random (?) EH-related crashes. I couldn't find any related issues on GitHub, though.

David
October 12, 2014
On Sunday, 12 October 2014 at 17:11:31 UTC, David Nadlinger wrote:
> On Sunday, 12 October 2014 at 16:55:46 UTC, Kai Nacke wrote:
>> Exception chaining is not implemented on Win64/MSVC. Otherwise it should work(TM).
>
> I was under the impression that both Trass3r and kink were getting random (?) EH-related crashes. I couldn't find any related issues on GitHub, though.
>
> David

There are crashes (e.h. unit tests core.thread, core.time) but I don't know if they are EH-related. The only way is to analyze and create bug reports.

Regards,
Kai
October 12, 2014
> Exception chaining is not implemented on Win64/MSVC. Otherwise it should work(TM)

https://github.com/ldc-developers/ldc/issues/166#issuecomment-54522891
October 12, 2014
I haven't run the unit tests yet (I'd be grateful if somebody could post the required command-line(s) - being able to run them via msbuild would obviously be luxurious). Current LDC head and LLVM head from yesterday can be built smoothly with MSVC 2013 x64, and a hello-world program can then be built successfully, too - thanks guys.

But running

import std.stdio;
int main()
{
    writeln("Exception support?");
    try { throw new Exception("Exception support"); }
    catch (Exception e) { writeln(e.msg); }
    return 0;
}

yields an output such as:

Exception support?
Çu♠âý(Hë¤Hì

So yes, something seems to be working. ;) I'll try to dig deeper if I find the time.
October 12, 2014
On Sunday, 12 October 2014 at 21:08:55 UTC, Trass3r wrote:
>> Exception chaining is not implemented on Win64/MSVC. Otherwise it should work(TM)
>
> https://github.com/ldc-developers/ldc/issues/166#issuecomment-54522891

Thanks, I missed your comments there.

David
October 12, 2014
Build with makefiles (hmm I've never tried ninja) and run make test resp. ctest -V -j <num>
Note that the unwind tables are untested.
October 12, 2014
> Build with makefiles (hmm I've never tried ninja) and run make test resp. ctest -V -j <num>

Thanks man, I'm giving ninja a go (single .exe as github release, very handy), parallel compilation at last! :) Looks like "ninja test" is still gonna take a while though using debug ldc2.exe. I'll update the Wiki page about how to run the tests if it works.
October 13, 2014
The tests don't run with ninja, they really need make. Do I really have to install MinGW MSYS or does anyone know a better alternative?
October 13, 2014
On Sunday, 12 October 2014 at 21:08:55 UTC, Trass3r wrote:
>> Exception chaining is not implemented on Win64/MSVC. Otherwise it should work(TM)
>
> https://github.com/ldc-developers/ldc/issues/166#issuecomment-54522891

Thanks for the hint.
Obviously the exception object is not passed as expected. I'll look into this.

Regards,
Kai