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