Compilation issue

Russel Winder via digitalmars-d-ldc digitalmars-d-ldc at puremagic.com
Tue Oct 20 10:17:20 PDT 2015


The construct:

  immutable pi = 4.0 * delta * taskPool.reduce!"a + b"(map!((int i){
        immutable x = (i - 0.5) * delta;
        return 1.0 / (1.0 + x * x);})
    (iota(1, n + 1)));

compiles fine with dmd 2.068.2. I believe it compiles fine with
LDC 0.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 access frame pointer of pi_parallel_unbatched_reduce.main.MapResult!(__lambda2, Result).MapResult
/home/users/russel/Built/include/d/std/parallelism.d(2433): Error: function std.parallelism.TaskPool.reduce!"a + b".reduce!(MapResult!(__lambda2, Result)).reduce no return exp; or assert(0); at end of function
pi_parallel_unbatched_reduce.d(36): Error: template instance std.parallelism.TaskPool.reduce!"a + b".reduce!(MapResult!(__lambda2, Result)) error instantiating

LDC reports it's version as:

LDC - the LLVM D compiler (d85d25):
  based on DMD v2.068.0 and LLVM 3.6.2
  Default target: x86_64-pc-linux-gnu
  Host CPU: penryn
  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?

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-ldc/attachments/20151020/e6992e09/attachment.sig>


More information about the digitalmars-d-ldc mailing list