OPTLINK needs to die.

Tom S h3r3tic at remove.mat.uni.torun.pl
Tue Feb 17 12:40:45 PST 2009


Walter Bright wrote:
> Tom S wrote:
>> So it seems that Main.d would have to reference symbols from each 
>> module in the program. Ouch.
> 
> I found that problem, and fixed it.

Cool, thanks :)


>> Additionally, using such an approach breaks any possibility to use 
>> incremental compilation.
> 
> It depends. If instead of a.obj, b.obj, and c.obj, think a.lib, b.lib, 
> c.lib, you can incrementally compile.

Yea, that's why I tried it next ;)


>> So there's also the option of having a .lib per .d file and linking 
>> that all together. So I've just tried it:
>> dmd -c Main.d
>> dmd -lib Mod.d
>> dmd -lib Mod2.d
>> dmd Main.obj Mod.lib Mod2.d
>> ... and OPTLINK crashed with the familiar MsgBox containing register 
>> values.
> 
> Can't repro it. I'm pretty sure it has something to do with how 
> threading works on newer processors (mine is old).

I'll try DMD 1.040 and different OPTLINK versions then. I'm currently using:

Digital Mars D Compiler v1.039
OPTLINK (R) for Win32  Release 8.00.1
Digital Mars Librarian Version 8.02n  ( I don't think it's used in this 
case :P )


> Vendor string:    GenuineIntel
> Processor string: Intel(R) Pentium(R) 4 CPU 1.60GHz
> Signature:        Family=15 Model=1 Stepping=2
> Features:         MMX FXSR SSE SSE2 HTT
> Multithreading:   1 threads / 1 cores
> 
> What's your CPU?

Vendor string:    GenuineIntel
Processor string: Intel(R) Pentium(R) M processor 1.70GHz
Signature:        Family=6 Model=13 Stepping=6
Features:         MMX FXSR SSE SSE2
Multithreading:   1 threads / 1 cores


-- 
Tomasz Stachowiak
http://h3.team0xf.com/
h3/h3r3tic on #D freenode



More information about the Digitalmars-d mailing list