http://d.puremagic.com/issues/show_bug.cgi?id=10108



--- Comment #11 from Martin Nowak <c...@dawg.eu> 2013-05-17 17:10:43 PDT ---
> Asserts are generally included to show what currently PASSES,
not what FAILS.

OK, I always write unittests that should pass but I'll be more explicit.

> In other words implicit "thread local" modifier is not transitive.

It's not intended to be transitive, it is a storage class, not a type
qualifier.
Variables with thread local storage may reference any other data (__gshared,
shared, stack, heap) and vice versa.

> int[] x = [1,2,3]; // should not be compiled

It would be trivial to fix. As the initializer for static data must be a
compile time constant we'd just need to store this constant in TLS instead of
the data segment.
The problem is that ELF has no TLS relocations for data, i.e. we'd need a
dynamic initalizer that sets arr.ptr to the TLS data.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to