On Fri, 14 Feb 2014 15:39:24 -0500, Jacob Carlborg <d...@me.com> wrote:

On 2014-02-14 16:42, Steven Schveighoffer wrote:

I'm 90% sure that MacOS does not natively support TLS, and uses the
core.Thread class to store it.

OS X support TLS natively since 10.7, but DMD still uses emulated TLS on OS X.

That's... old. Why doesn't DMD start using it? 10.7 came out in 2011.


Yes, this also depends on moduleinfo, like static ctor/dtor.

As I've replied to other posts, there's __traits(getUnitTests) as well.


I wasn't aware of that. One has to consider how it will be expected to work. Most of the time, D compiles and runs unit tests if -unittest is passed. What happens in -nodruntime -unittest? Does it just compile the unit tests into the objects but not store the pointers since there is no moduleinfo?

Here is a possible compromise: -unittest and -nodruntime are mutually exclusive. If you want to run unit tests, run with -unittest. If you want to run without druntime, use -nodruntime. Any code that builds under -nodruntime should also build without that switch.

-Steve

Reply via email to