[D-runtime] [D-Programming-Language/druntime] eddc04: Merge branch 'master' of git://github.com/ibuclaw/...

Brad Roberts braddr at puremagic.com
Sun Feb 6 20:35:23 PST 2011


Switching just monitor back to the c version gets win32 back in working shape.  So, exploring from there what's wrong, I
went to a hybrid version, the .c file referencing the global variables (_monitor_critsec and inited) extern(C)'ed from
the .d version.  Still works.  From there, I moved to using the .d version of _STI_monitor_staticctor.  That works for
the druntime unit tests, but not for phobos' tests.

You can see the source of what I used here:
  https://github.com/braddr/druntime/commits/win32-monitor-broken

The point where it works, with a mostly .c file:
  https://github.com/braddr/druntime/commit/6c2f4d1b960c8f227a1ee033f072504a12d94e36

The point where I've moved the ctor to the .d file:
  https://github.com/braddr/druntime/commit/7d43689996a63ee0195a55c8d3836edf5e59e6e6

So.. what am I missing?  Is there something special about win32 functions that start with an underscore?  Is there
something special about win32 when it comes to linking one lib into another?  That it works for druntime's unittest and
not phobos's is confusing to me.  I do next to no win32 programming (completely zero except for dmd), so I'm unfamiliar
with any of it's idiosyncrasies.

Thanks,
Brad

On 2/6/2011 4:47 PM, Brad Roberts wrote:
> Grf.. I was afraid of that.. the win32 build is unhappy with these changes.  I'll dig in, but if anyone sees the problem
> and wants to save me the time, shout.
> 
> Thanks,
> Brad
> 
> On 2/6/2011 4:16 PM, noreply at github.com wrote:
>> Branch: refs/heads/master
>> Home:   https://github.com/D-Programming-Language/druntime
>>
>> Commit: eddc043364178a89a9146fdd0a665ae610dc245f
>>     https://github.com/D-Programming-Language/druntime/commit/eddc043364178a89a9146fdd0a665ae610dc245f
>> Author: Brad Roberts <braddr at puremagic.com>
>> Date:   2011-02-06 (Sun, 06 Feb 2011)
>>
>> Changed paths:
>>   M src/core/sys/osx/mach/kern_return.d
>>   M src/core/sys/osx/mach/port.d
>>   M src/core/sys/osx/mach/semaphore.d
>>   M src/core/sys/osx/mach/thread_act.d
>>   M src/core/thread.d
>>   M src/gc/gcx.d
>>   M src/rt/critical.c
>>   A src/rt/critical_.d
>>   M src/rt/mars.h
>>   M src/rt/memory.d
>>   M src/rt/monitor.c
>>   A src/rt/monitor_.d
>>
>> Log Message:
>> -----------
>> Merge branch 'master' of git://github.com/ibuclaw/druntime
>>
>>
>> Commit: 031f65b587f2041b1030147fa83db2a31a820037
>>     https://github.com/D-Programming-Language/druntime/commit/031f65b587f2041b1030147fa83db2a31a820037
>> Author: Brad Roberts <braddr at puremagic.com>
>> Date:   2011-02-06 (Sun, 06 Feb 2011)
>>
>> Changed paths:
>>   M posix.mak
>>   R src/rt/critical.c
>>   R src/rt/mars.h
>>   R src/rt/monitor.c
>>   M win32.mak
>>
>> Log Message:
>> -----------
>> Finish conversion from critical.c and monitor.d to their .d versions
>>
>>
>> _______________________________________________
>> D-runtime mailing list
>> D-runtime at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/d-runtime
> 
> _______________________________________________
> D-runtime mailing list
> D-runtime at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/d-runtime



More information about the D-runtime mailing list