October 20, 2015 Compilation issue | ||||
---|---|---|---|---|
| ||||
Attachments:
| 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@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 |
Copyright © 1999-2021 by the D Language Foundation