Bounty for -minimal compiler flag

Steven Schveighoffer schveiguy at yahoo.com
Fri Feb 14 13:02:53 PST 2014


On Fri, 14 Feb 2014 15:39:24 -0500, Jacob Carlborg <doob at 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


More information about the Digitalmars-d-announce mailing list