On 19 nov 2013, at 15:00, Ali Akhtarzada <ali.akhtarzada@gmail.com> wrote:

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...

Yes, GCC has been removed in Xcode 5. They still have a binary called g++, but as you can see it's actually Clang. We do have had some tests failing when compiling DMD with Clang. I don't know if Clang the cause in this case. Since GCC has been removed now we really need to make DMD work with Clang. Any help is appreciated.

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?

I guess it's ok to post here. Note that these mailing list don't have as much traffic as the newsgroups. Most people start by posting to digitalmars.D.learn or digitalmars.D.

-- 
/Jacob Carlborg