Re: LDC now supports Windows MSVC x86/x64 as first class targets

2016-03-20 Thread kinke via Digitalmars-d-announce
Wrt. MSVC compatibility and LDC's new, MSVC-compatible EH: a few 
additional lines enable catching D exceptions in C++, see 
https://github.com/ldc-developers/druntime/pull/54/commits/7484da5a6b98c938fa153ec9a70bb4a08cc1fcf2 and https://github.com/ldc-developers/dmd-testsuite/pull/15/commits/a99e368cdd5bf5e1a6d48209093404a9fc114579


Re: LDC now supports Windows MSVC x86/x64 as first class targets

2016-03-20 Thread Rainer Schuetze via Digitalmars-d-announce



On 20.03.2016 11:54, Manu via Digitalmars-d-announce wrote:

Also, out of curiosity, has anyone looked at connecting the MS codegen
(C2.DLL) to LDC like MS do with Clang+C2 (Clang frontend w/ MS
codegen) that was released in VS2015 Update 1/2?
I suspect their C2.DLL connectivity code must be available(?), and
theoretically LDC could connect to it for codegen the same way Clang
does(?), and that would lead to 100% MS compatible binary and
debuginfo output.
ClangC2 produces binaries that are almost indistinguishable from MSVC
compiled binaries while debugging.


I just tried to find some information about C2.DLL, but it seems they 
haven't made anything public yet. Grepping Microsofts' github forks of 
llvm/clang didn't reveal anything, too.


Re: LDC now supports Windows MSVC x86/x64 as first class targets

2016-03-20 Thread kinke via Digitalmars-d-announce

On Sunday, 20 March 2016 at 14:15:19 UTC, Manu wrote:

It's been many years so far... what's a couple more? ;)


I know, but MSVC targets have just recently gained a lot of 
momentum, and MS has started contributing too.



The advantage is, in addition to the obvious debuginfo, that the
binary generated by the same codegen would definitely be 
completely compatible.


Completely compatible to what? An identical IR generated by clang 
for a 1:1 translation of a D source to C++ (in cases where that's 
even possible)?


assuming that LLVM is even capable of expressing all the data 
in MS's debuginfo format?


For me the question is rather whether the MS backend really fully 
supports LLVM IR, especially wrt. ABI details, alignments, EH 
etc., or if it just supports what clang emits.


Re: LDC now supports Windows MSVC x86/x64 as first class targets

2016-03-20 Thread Manu via Digitalmars-d-announce
On 20 March 2016 at 22:53, kinke via Digitalmars-d-announce
 wrote:
> On Sunday, 20 March 2016 at 10:54:54 UTC, Manu wrote:
>>
>> Where is LDC at with the D frontend at the moment?
>> Have Walter's numerous February fixes for C++ compatibility made their
>> way in yet?
>
>
> Trunk (master branch) is at D2.069.2. The merge-2.070 branch already exists,
> so it won't take long for us to catch up.

Awesome, looking forward to trying it out!

>> Also, out of curiosity, has anyone looked at connecting the MS codegen
>> (C2.DLL) to LDC like MS do with Clang+C2 (Clang frontend w/ MS
>> codegen) that was released in VS2015 Update 1/2?
>
>
> Nope, I haven't and I suspect noone else has. I don't see any benefit except
> for debug infos at the moment, but I guess full support in LLVM itself won't
> take ages.

It's been many years so far... what's a couple more? ;)
It would be interesting to know if it's possible/reasonably simple.
The advantage is, in addition to the obvious debuginfo, that the
binary generated by the same codegen would definitely be completely
compatible.
I suspect performing the plug like Clang would take a very small time
compared to the years we've already been waiting for the LLVM/MS guys
to get comprehensive debuginfo into LLVM, and that's assuming that
LLVM is even capable of expressing all the data in MS's debuginfo
format? MSVC debuginfo is very good; it has data such that variables
follow their registers around in fully optimised builds, making
release build debugging fast and effortless.


Re: LDC now supports Windows MSVC x86/x64 as first class targets

2016-03-20 Thread kinke via Digitalmars-d-announce

On Sunday, 20 March 2016 at 10:54:54 UTC, Manu wrote:

Where is LDC at with the D frontend at the moment?
Have Walter's numerous February fixes for C++ compatibility 
made their

way in yet?


Trunk (master branch) is at D2.069.2. The merge-2.070 branch 
already exists, so it won't take long for us to catch up.


Also, out of curiosity, has anyone looked at connecting the MS 
codegen

(C2.DLL) to LDC like MS do with Clang+C2 (Clang frontend w/ MS
codegen) that was released in VS2015 Update 1/2?


Nope, I haven't and I suspect noone else has. I don't see any 
benefit except for debug infos at the moment, but I guess full 
support in LLVM itself won't take ages.


Re: Event Dispatcher

2016-03-20 Thread Kagamin via Digitalmars-d-announce

On Thursday, 10 March 2016 at 18:08:15 UTC, Eugene Wissner wrote:
Why not just extend the HelloWorld class and override the 
hello()? Imagine you write an apllication that should support 
plugins. And two independent plugins extend the HelloWorld. One 
plugin would conflict with the another. EventDispatcher make it 
possible to register the events that can be used by application 
plugins.


How about something like MEF?


Re: Silicon Valley D Meetup March 24, 2016

2016-03-20 Thread Darkfeign via Digitalmars-d-announce

On Thursday, 17 March 2016 at 18:40:02 UTC, Ali Çehreli wrote:
Stefan Brus has accepted to repeat his Berlin meetup 
presentation for us remotely at his 3am! :D


"Intro to Game Development in D"

  http://www.meetup.com/D-Lang-Silicon-Valley/events/229370428/

As always, we will post a Google hangouts link at the start of 
the presentation at around 7pm Pacific time.


Ali


This is awesome. It's definitely something I'm interested in 
finding more about, as I've messed with Derelict's bindings and 
Unity manages with garbage collection. Will the recording be 
available online?


I've also applied to work on the FlatBuffers implementation as 
part of GSoC which I hope will be helpful for game development.


Re: LDC now supports Windows MSVC x86/x64 as first class targets

2016-03-20 Thread Manu via Digitalmars-d-announce
This is extremely good news!

Where is LDC at with the D frontend at the moment?
Have Walter's numerous February fixes for C++ compatibility made their
way in yet?

Also, out of curiosity, has anyone looked at connecting the MS codegen
(C2.DLL) to LDC like MS do with Clang+C2 (Clang frontend w/ MS
codegen) that was released in VS2015 Update 1/2?
I suspect their C2.DLL connectivity code must be available(?), and
theoretically LDC could connect to it for codegen the same way Clang
does(?), and that would lead to 100% MS compatible binary and
debuginfo output.
ClangC2 produces binaries that are almost indistinguishable from MSVC
compiled binaries while debugging.

On 19 March 2016 at 23:23, kinke via Digitalmars-d-announce
 wrote:
> Hey all,
>
> I'm proud to announce that MSVC is fully supported now for LDC trunk. Rainer
> Schuetze has implemented MSVC-compatible exception handling (available since
> brand-new LLVM 3.8) for LDC, so that we have fully working exception
> chaining now on Win64. Along the way, he also added 32-bit MSVC support and
> a TLS alignment bugfix for Windows < 8.1 (a Windows bug/wontfix!). It
> requires a bleeding edge LLVM though, as Rainer's work has uncovered a few
> LLVM bugs which didn't make it into 3.8 final.
> So a round of applause for Rainer and the LLVM devs, excellent job, thank
> you very much! Full PDB support for LLVM is also underway...
>
> CI testing with AppVeyor has been improved, so that the full test suite is
> run for both x86 and x64 MSVC targets. All tests pass except for 3 rather
> negligible issues (see
> https://github.com/ldc-developers/ldc/pull/1354#issuecomment-198572582 for
> details).
>
> The automatically updated GitHub release
> (http://wiki.dlang.org/Latest_LDC_binaries_for_Windows) now also includes a
> downloadable 32-bit LDC build.
>
> Wiki pages have been updated accordingly. Check out
> http://wiki.dlang.org/Building_and_hacking_LDC_on_Windows_using_MSVC if you
> want to start contributing too! Setting up the dev environment isn't that
> hard, I promise. :)


Re: LDC now supports Windows MSVC x86/x64 as first class targets

2016-03-20 Thread Walter Bright via Digitalmars-d-announce

On 3/19/2016 6:23 AM, kinke wrote:

I'm proud to announce that MSVC is fully supported now for LDC trunk. Rainer
Schuetze has implemented MSVC-compatible exception handling (available since
brand-new LLVM 3.8) for LDC, so that we have fully working exception chaining
now on Win64. Along the way, he also added 32-bit MSVC support and a TLS
alignment bugfix for Windows < 8.1 (a Windows bug/wontfix!). It requires a
bleeding edge LLVM though, as Rainer's work has uncovered a few LLVM bugs which
didn't make it into 3.8 final.
So a round of applause for Rainer and the LLVM devs, excellent job, thank you
very much! Full PDB support for LLVM is also underway...


Congratulations!


Re: New example IRC Client for DlangUI

2016-03-20 Thread Joel via Digitalmars-d-announce

On Wednesday, 16 March 2016 at 12:07:24 UTC, Vadim Lopatin wrote:

Hello,

I've added new example for DlangUI - IRC Client.
It's located in dlangui/examples/ircclient and available as 
dlangui:ircclient package.


For this application, AsyncSocket implementation is added to 
DlangUI.


Best regards,
 Vadim


Cool!


Re: Silicon Valley D Meetup March 24, 2016

2016-03-20 Thread Darkfeign via Digitalmars-d-announce

On Thursday, 17 March 2016 at 19:13:29 UTC, Ali Çehreli wrote:

On 03/17/2016 12:05 PM, Darkfeign wrote:

> Will the recording be available online?

We haven't been doing that partly because our meetups are very 
intimate and people share lots of personal information. I hope 
you can make the live connection at 7pm Pacific time, March 24, 
Thursday. (Early Friday morning for Europe.)


Ali


That's a shame, but I totally understand. Believe me, if I could 
spend some time in Silicon Valley I would! Would love to do my 
postdoc at Stanford.


I'll be in first year labs early Friday unfortunately, but at 
least the slides are available. Thanks,

Michael.