On Tue, 03 Apr 2012 07:47:40 +0200, Mihail Zenkov
<mihail.zen...@gmail.com> wrote:
On Monday, 2 April 2012 at 22:24:36 UTC, Martin Krejcirik wrote:
On 2.4.2012 19:56, simendsjo wrote:
Unless it's shared or __gshared, every thread gets it's own copy. D
defaults to thread local storage (TLS).
I know but the problem is, that gdb doesn't show the changed value of
TLS variable. Example:
import std.stdio;
shared int shrgl = 1;
int tlsgl = 10;
void main()
{
writefln("%s %s", shrgl, tlsgl); // prints 1,10
shrgl++; tlsgl++;
writefln("%s %s", shrgl, tlsgl); // prints 2,11
==> gdb p 'tls.shrgl' ==> 2
==> gdb p 'tls.tlslg' ==> 10
}
--
mk
Can't reproduce. With gdc and dmd-2.058 I have correct result. GDB-7.3
I cannot reproduce this on dmd-2.059 trunk either.