[Issue 10108] Thread local slice to array literal references the same data

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri May 17 17:10:45 PDT 2013


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



--- Comment #11 from Martin Nowak <code at 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: -------


More information about the Digitalmars-d-bugs mailing list