Hi people,
So I just started with this d stuff. Just cloned master source. Built dmd, phobos and druntime and ran tests. Got a fail in std.parallelism, then reran again and it passed. Did this a couple more times, failed again at some point, but then passed again.
Is this a known issue?
Also, I did make some changes in the dmd/src already. Was getting a crap load of warnings about logical && being nested inside logical || without parenthesis. So I went through the source and added parenthesis to silence that warning - mundane mechanical stuff :(
Build details:
- Osx Mavericks - x86_64
- dmd/src/: make MODEL=64 DEBUG=1
- druntime/: make MODEL=64 DEBUG=1 DMD=../dmd/src/dmd
- phobos/: make MODEL=64 DEBUG=1 DMD=../dmd/src/dmd
- dmd -man outputs: DMD v2.065-devel-ae7adb9 DEBUG
When I build dmd it seems to build with g++ on osx. Strange because I thought gcc was removed as of osx 10.8. So g++ I think is just a wrapper that calls clang internally. When I run g++ -v on my machine I get:
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix
I thought it my be a script or a symlink but it doens't seem to be. Maybe it's just a binary that translates g++ cmd args to clang++ or something... dunno, but anyway...
The tests inside dmd/tests all pass fine, and the druntime tests pass consistently as well after the changes I made (I did not make any functional changes, though of course I could've retardedly messed up parenthesis somewhere.
The failure:
Testing std.outbuffer: OK (took 0ms)
totalCPUs = 4
Testing std.parallelism: FAIL
core.thread.ThreadException@src/core/thread.d(938): Unable to set thread priority
----------------
5 test_runner 0x00000001058239d3 std.parallelism.TaskPool std.parallelism.TaskPool.__ctor(std.parallelism.AbstractTask*, int) + 147
6 test_runner 0x00000001058295c3 @trusted void std.parallelism.Task!(_D3std11parallelism17__unittestL3913_3FZv6refFunFKkZv, uint).Task.executeInNewThread(int) + 115
7 test_runner 0x0000000105824dab void std.parallelism.__unittestL3913_3() + 675
8 test_runner 0x0000000105822bc7 void std.parallelism.__modtest() + 19
9 test_runner 0x000000010503e4da bool test_runner.tester() + 430
10 test_runner 0x0000000105eaaeb9 runModuleUnitTests + 193
11 test_runner 0x0000000105eb8157 void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll() + 23
12 test_runner 0x0000000105eb810d void rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).tryExec(scope void delegate()) + 45
13 test_runner 0x0000000105eb8083 _d_run_main + 443
14 test_runner 0x000000010503e1fa main + 34
15 libdyld.dylib 0x00007fff941d05fd start + 1
16 ??? 0x0000000000000002 0x0 + 2make[1]: *** [generated/osx/debug/64/unittest/std/parallelism] Error 1
I'm quite new to everything here, don't even really know d much, but looks interesting and I would like to possibly help, time permitting. I'm also not sure if this is the right place to go about asking these things? Should I have posted to digitalmars.D instead? Do people just file a bug immediately and let it go from there or is this the right place to get the ball rolling or?
Guidance, help much appreciated
Cheers,
- Ali