digitalmars.D.ldc - Compilation issue
- Russel Winder via digitalmars-d-ldc (37/37) Oct 20 2015 The construct:
The construct:
=C2=A0 immutable pi =3D 4.0 * delta * taskPool.reduce!"a + b"(map!((int i){
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0immutable x =3D (i - 0.5) *=
delta;
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0return 1.0 / (1.0 + x * x);=
})
=C2=A0=C2=A0=C2=A0=C2=A0(iota(1, n + 1)));
compiles fine with dmd 2.068.2. I believe it compiles fine with
LDC=C2=A00.14.0 as packaged in Debian Sid. However with LDC compiled from
Git master, 2.068 branch, I get:
/home/users/russel/Built/include/d/std/parallelism.d(2637): Error: cannot a=
ccess frame pointer of pi_parallel_unbatched_reduce.main.MapResult!(__lambd=
a2, Result).MapResult
/home/users/russel/Built/include/d/std/parallelism.d(2433): Error: function=
std.parallelism.TaskPool.reduce!"a + b".reduce!(MapResult!(__lambda2, Resu=
lt)).reduce no return exp; or assert(0); at end of function
pi_parallel_unbatched_reduce.d(36): Error: template instance std.parallelis=
m.TaskPool.reduce!"a + b".reduce!(MapResult!(__lambda2, Result)) error inst=
antiating
LDC reports it's version as:
LDC - the LLVM D compiler (d85d25):
=C2=A0 based on DMD v2.068.0 and LLVM 3.6.2
=C2=A0 Default target: x86_64-pc-linux-gnu
=C2=A0 Host CPU: penryn
=C2=A0 http://dlang.org - http://wiki.dlang.org/LDC
Is this likely a real problem or is it some stupidity I have inflicted
on my set up?
--=20
Russel.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D
Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n=
et
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
Oct 20 2015








Russel Winder via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com>