OPTLINK needs to die.
Max Samukha
samukha at voliacable.com.removethis
Tue Feb 17 07:14:50 PST 2009
On Tue, 17 Feb 2009 04:16:35 -0800, Walter Bright
<newshound1 at digitalmars.com> 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.
>
>> 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.
>
>> 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).
Probably you typed literally. The last one should be 'dmd Main.obj
Mod.lib Mod2.lib'
>
>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?
>
>> While we're at incremental compilation, this bug:
>> http://d.puremagic.com/issues/show_bug.cgi?id=1629 often kills it for me
>> and it's been around for a few whiles already.
>
>Ok.
Checked on an old Celeron and Athlon. Both fail
More information about the Digitalmars-d
mailing list