www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - Win32 OPTLINK crashes when it links some kind of static library into a executeable.

dmd (later than 2.018) OPTLINK crashes when it links some kind of static
library into a executeable.
Here is a small example as a quick report.


==== make following module into a static library

module test;
import std.random;
Mt19937 gen;
uint nonThreadSafeRandom() {return gen.next;}


==== OPTLINK crashes when making following code into a exe with linking the
library just made before

import test;
void main() { uint a = nonThreadSafeRandom(); }


==== OPTLINK won't crash if deeper module is imported

import test, std.random;
void main() { uint a = nonThreadSafeRandom(); } 



This is a quick report, I have not found a true cause yet. 

Thanks, 

HOSOKAWA Kenchi
Sep 29 2008