On Tuesday, 5 May 2015 at 17:27:05 UTC, Johannes Pfau wrote:
Am Tue, 05 May 2015 08:41:13 -0700
schrieb Dan Olson <zans.is.for.c...@yahoo.com>:

Iain Buclaw via Digitalmars-d <digitalmars-d@puremagic.com> writes:

> If the cost is too much (ie: there is no heap), then we > should be > able to stop emutls from kicking in by preventing the D > frontend
> from returning true on isThreadLocal calls.

Iain, I think something like this would be good in GDC. Makes it so
much easier to compile for no thread environments.

I'm not really sure about this. It's trivial to implement but it
generates a semantic difference which harms code portability (e.g. if
you have code where you want a global variable, don't mark it as
__gshared and then move to an environment with threads).

I'm coming around and feeling inclined to agree with this. One of the things I want to avoid is creatIng an embedded dialect of the D. I hope D for microcontrollers, kernels and such looks very much like the idiomatic D in the application programming domain.

What I would like to see, however, is a friendly compiler error like "This platform does not support thread-local storage. Please decorate your global variables with __gshared." rather than "undefined reference '_d_get_address'" from the linker.


Mike

Reply via email to