Am Wed, 16 Jul 2014 05:53:30 +0000 schrieb "Timo Sintonen" <t.sinto...@luukku.com>:
> On Tuesday, 24 June 2014 at 14:14:18 UTC, Johannes Pfau wrote: > > > I think we should at least try to bring this to the main > > newsgroup, > > I told you this is not going to work. The decision seems to be > made even when the conversion is still going on. Lets just make > this into gdc so we can continue the real work. When this is > ready and working, we may try again. > > Unfortunately I am not skilled enough to implement this into the > compiler so I have to ask somebody else to do it. I will test it > as soon it is possible. > > This has even more importance now because I have understood that > dmd will disallow read-modify-write access to shared variables. I > hope this feature is not brought to gdc before volatile is > working. > I didn't have any high expectations, nevertheless we had to try. Well I could implement the DIP for GDC, but this is against the vision of a shared frontend. In the end Iain has to decide what to do. I'm not sure if I'd implement Volatile!T though. It's probably lots of work and there's no guarantee it'll work at all in the end. The more I think about it the more corner cases come to mind which all need to be worked around. Keeping only peek/poke as Walter suggests of course also has drawbacks. peek/poke plus Mike's wrapper is probably the best we'll get from DMD. Btw: @Iain if we implement these peek/poke things I think asm{"" : : :"memory";} is not good enough. At least it's being removed in some tests and according to some sources it only affect operations on volatile variables... So we'd have to implement peek/poke on top of C/GCC volatile.