December 16, 2014
On Tuesday, 16 December 2014 at 05:57:41 UTC, Kai Nacke wrote:
> On Tuesday, 16 December 2014 at 05:39:54 UTC, Kai Nacke wrote:
>>
>> Thanks for the test case. It does not work if you try to compile with ldc2, too.
>
> The compiler dies while the code generation for the main function runs. Mysterious. Really good catch.
>
> Regards,
> Kai

As an exercise in learning ldc, I ran it through the debugger.

If I remove the gagging from:
\gen\toir.cpp @ 2823

Then the following error is made visible.
Error: expression '[cast(E4)0:(Bar __ctmp1495 = 0;
 , __ctmp1495).this(cast(E4)1, cast(E3)1)]' is not a constant

While gagged we call void AggrTypeBuilder::addAggregate(AggregateDeclaration *ad) in \ir\irtypeaggr.cpp which invokes fatal() at line 141.
December 16, 2014
On Tue, 2014-12-16 at 08:58 +0000, John Colvin via digitalmars-d-ldc wrote:

> For me it's a case of improving what I use and I don't use macports.

Seems fine to me. Hopefully there is a MacPorts D user who packages.

> Ldc is not in d-apt

As Dicebot points out, the package in Debian is now much more actively maintained. Hopefully the upgrade 0.14 → 0.15.1 happens fairly soon.

I have just managed to pick up a responsibility more directly associated with income generation, so I cannot volunteer to do the Fedora packaging now :-(

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

December 16, 2014
On Mon, 2014-12-15 at 17:27 +0000, Dicebot via digitalmars-d-ldc wrote: […]
> It uses rolling release model and there is no mandatory testing
> channel for [community] packages (only for [core] and [extra]) - D
> packages usually become available to end users as soon as
> mirrors update the cache, most often within a few hours from the
> moment I read upstream release announcement. Don't know much
> about Fedora Rawhide but is is rather hard to be more bleeding edge
> than that :)

Rawhide is also a fully rolling release with no freezes. As I discovered recently (I have no idea why I didn't know this before) the name of the distribution is determined by the song: "rolling, rolling, rolling…"
-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

December 16, 2014
On Tue, 16 Dec 2014 10:14:44 +0000
Russel Winder via digitalmars-d-ldc <digitalmars-d-ldc@puremagic.com>
wrote:

> As Dicebot points out, the package in Debian is now much more actively maintained. Hopefully the upgrade 0.14 → 0.15.1 happens fairly soon.

I've actually prepared the packages and will upload to experimental today, with the powerpc arches enabled (powerpc, ppc64, ppc64el). Experimental because uploads to unstable are blocked because of the freeze for Jessie, but should be resumed soon.

Regards

Konstantinos


December 16, 2014
On Tuesday, 16 December 2014 at 09:11:31 UTC, Daniel N wrote:
> On Tuesday, 16 December 2014 at 05:57:41 UTC, Kai Nacke wrote:
>> On Tuesday, 16 December 2014 at 05:39:54 UTC, Kai Nacke wrote:
>>>
>>> Thanks for the test case. It does not work if you try to compile with ldc2, too.
>>
>> The compiler dies while the code generation for the main function runs. Mysterious. Really good catch.
>>
>> Regards,
>> Kai
>
> As an exercise in learning ldc, I ran it through the debugger.
>
> If I remove the gagging from:
> \gen\toir.cpp @ 2823
>
> Then the following error is made visible.
> Error: expression '[cast(E4)0:(Bar __ctmp1495 = 0;
>  , __ctmp1495).this(cast(E4)1, cast(E3)1)]' is not a constant
>
> While gagged we call void AggrTypeBuilder::addAggregate(AggregateDeclaration *ad) in \ir\irtypeaggr.cpp which invokes fatal() at line 141.

:-) Nice. There's a logical flaw with gagging errors.

Regards,
Kai
December 16, 2014
On Tue, 2014-12-16 at 12:26 +0200, Konstantinos Margaritis via
digitalmars-d-ldc wrote:
[…]
> I've actually prepared the packages and will upload to experimental today, with the powerpc arches enabled (powerpc, ppc64, ppc64el). Experimental because uploads to unstable are blocked because of the freeze for Jessie, but should be resumed soon.

I tend to use Fedora Rawhide during a Debian Sid Freeze so as to have a rolling distribution. The last Debian freeze went on for eons. Good to know that packages will be sitting in Experimental though, that is splendid.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


December 16, 2014
Big step forward here! This is the first version of LDC that's
managed to compile my beast of a project on mingw with no ICEs.

Tere's still some really wonky behavior in there (it somehow
broke my collision detection system, of all things), and once I
manage to isolate the specifics I'll file it in the tracker.

Still, thanks  for all the effort! Having a D compiler that can
spit out DWARF symbols on windows will make my life so much
easier.
December 16, 2014
On Tue, Dec 16, 2014 at 5:51 PM, E.S. Quinn via digitalmars-d-ldc <digitalmars-d-ldc@puremagic.com> wrote:
> Big step forward here! This is the first version of LDC that's managed to compile my beast of a project on mingw with no ICEs.

Nice to hear!

> Tere's still some really wonky behavior in there (it somehow broke my collision detection system, of all things), and once I manage to isolate the specifics I'll file it in the tracker.

Are you working with reals in any way (maybe unintentionally through some Phobos math API)? Since MinGW uses the Microsoft C runtime by default, 80 bit reals are tricky to get right and me might not have found all issues. Thus,my first step in tracking this down would be to verify any math library calls.

Best,
David
December 17, 2014
On Tuesday, 16 December 2014 at 22:15:26 UTC, David Nadlinger via digitalmars-d-ldc wrote:
> On Tue, Dec 16, 2014 at 5:51 PM, E.S. Quinn via digitalmars-d-ldc
> <digitalmars-d-ldc@puremagic.com> wrote:
>> Big step forward here! This is the first version of LDC that's
>> managed to compile my beast of a project on mingw with no ICEs.
>
> Nice to hear!
>
>> Tere's still some really wonky behavior in there (it somehow
>> broke my collision detection system, of all things), and once I
>> manage to isolate the specifics I'll file it in the tracker.
>
> Are you working with reals in any way (maybe unintentionally through
> some Phobos math API)? Since MinGW uses the Microsoft C runtime by
> default, 80 bit reals are tricky to get right and me might not have
> found all issues. Thus,my first step in tracking this down would be to
> verify any math library calls.
>
> Best,
> David

Nope! It's all integers. So my working theory is it's something with a bitfield struct being passed around on the stack. I should have more info later today!
December 18, 2014
On Tuesday, 16 December 2014 at 11:40:27 UTC, Kai Nacke wrote:
> :-) Nice. There's a logical flaw with gagging errors.

It's fixed in master branch.

Regards,
Kai