Thread overview | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
February 11, 2013 Exceptional News | ||||
---|---|---|---|---|
| ||||
Looks like we are finally getting somewhere. :) --- version (Windows) {} else static assert(false); void main() { try { throw new Exception("This exception..."); } catch (Exception e) { import std.stdio; writeln(e.msg, " ... has been caught for you by ", __VENDOR__, "."); } } --- This exception... ... has been caught for you by LDC. --- David |
February 11, 2013 Re: Exceptional News | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Nadlinger Attachments:
| On 11 February 2013 13:00, David Nadlinger <see@klickverbot.at> wrote: > Looks like we are finally getting somewhere. :) > > --- > version (Windows) {} else static assert(false); > void main() { > try { > throw new Exception("This exception..."); > } catch (Exception e) { > import std.stdio; > writeln(e.msg, " ... has been caught for you by ", __VENDOR__, > "."); > } > } > --- > This exception... ... has been caught for you by LDC. > --- > > David > Rather amusing. :-) -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0'; |
February 11, 2013 Re: Exceptional News | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Nadlinger | On 2/11/13 8:00 AM, David Nadlinger wrote:
> Looks like we are finally getting somewhere. :)
>
> ---
> version (Windows) {} else static assert(false);
> void main() {
> try {
> throw new Exception("This exception...");
> } catch (Exception e) {
> import std.stdio;
> writeln(e.msg, " ... has been caught for you by ", __VENDOR__, ".");
> }
> }
> ---
> This exception... ... has been caught for you by LDC.
> ---
>
> David
Awesome!!!
Andrei
|
February 11, 2013 Re: Exceptional News | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu Attachments:
| On 11 February 2013 13:29, Andrei Alexandrescu < SeeWebsiteForEmail@erdani.org> wrote: > On 2/11/13 8:00 AM, David Nadlinger wrote: > >> Looks like we are finally getting somewhere. :) >> >> --- >> version (Windows) {} else static assert(false); >> void main() { >> try { >> throw new Exception("This exception..."); >> } catch (Exception e) { >> import std.stdio; >> writeln(e.msg, " ... has been caught for you by ", __VENDOR__, "."); >> } >> } >> --- >> This exception... ... has been caught for you by LDC. >> --- >> >> David >> > > Awesome!!! > > Andrei > This feature has been around for some time (somewhere in lexer.c iirc) - have you really only just added LDC into it David? -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0'; |
February 11, 2013 Re: Exceptional News | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Nadlinger | Am 11.02.2013 14:00, schrieb David Nadlinger:
> Looks like we are finally getting somewhere. :)
>
> ---
> version (Windows) {} else static assert(false);
> void main() {
> try {
> throw new Exception("This exception...");
> } catch (Exception e) {
> import std.stdio;
> writeln(e.msg, " ... has been caught for you by ", __VENDOR__, ".");
> }
> }
> ---
> This exception... ... has been caught for you by LDC.
> ---
>
> David
Great news!
How is it implemented? SEH? Did LLVM get any recent additions in this area?
|
February 11, 2013 Re: Exceptional News | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Nadlinger | 11-Feb-2013 17:00, David Nadlinger пишет: > Looks like we are finally getting somewhere. :) > > --- > version (Windows) {} else static assert(false); > void main() { > try { > throw new Exception("This exception..."); > } catch (Exception e) { > import std.stdio; > writeln(e.msg, " ... has been caught for you by ", __VENDOR__, > "."); > } > } > --- > This exception... ... has been caught for you by LDC. > --- Nice one! There got to be size_t.sizeof printed somewhere ... :) -- Dmitry Olshansky |
February 11, 2013 Re: Exceptional News | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Nadlinger | On Mon, 11 Feb 2013 14:00:17 +0100
"David Nadlinger" <see@klickverbot.at> wrote:
> Looks like we are finally getting somewhere. :)
>
> ---
> version (Windows) {} else static assert(false);
> void main() {
> try {
> throw new Exception("This exception...");
> } catch (Exception e) {
> import std.stdio;
> writeln(e.msg, " ... has been caught for you by ",
> __VENDOR__, ".");
> }
> }
> ---
> This exception... ... has been caught for you by LDC.
> ---
>
> David
I took my mind a minute to process the point of that ("Is
__VENDOR__ a new thing? Is it something about nested exceptions? What's
with the version(Windows)...?")
...and then my thoughts jumped straight to: Holy shit!!
:)
Fantastic news!
|
February 14, 2013 Re: Exceptional News | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dmitry Olshansky | On Monday, 11 February 2013 at 17:19:16 UTC, Dmitry Olshansky wrote:
> Nice one!
>
> There got to be size_t.sizeof printed somewhere ... :)
It would be 4; MinGW for Win64 uses SEH, and LLVM still doesn't support that (although there is hope).
David
|
February 14, 2013 Re: Exceptional News | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On Monday, 11 February 2013 at 21:50:35 UTC, Nick Sabalausky wrote: > ...and then my thoughts jumped straight to: Holy shit!! > > :) > > Fantastic news! Don't get too excited. ;) There is still a lot to do, several test cases/unit tests still fail (mainly FP precision and ABI related). But, yes, now there is a real chance of Windows being a "first-class target" for LDC in the near future. I would very much appreciate any help on crushing the remaining bugs (it's not rocket science), see http://wiki.dlang.org/Building_LDC_on_MinGW_x86 for build instructions. David |
February 14, 2013 Re: Exceptional News | ||||
---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | On Monday, 11 February 2013 at 13:33:28 UTC, Iain Buclaw wrote:
> This feature has been around for some time (somewhere in lexer.c iirc) -
> have you really only just added LDC into it David?
LLVM hasn't had support for Exceptions in Windows, Hence the begining
version (Windows) {} else static assert(false);
|
Copyright © 1999-2021 by the D Language Foundation