Re: Found one (the?) ARM bug: (Pointer) aliasing issues

2013-11-10 Thread Iain Buclaw
By the way - I've gotten round to upgrading my trimslice to precise - *now* I should be able to start doing regular gdc builds on it. :o) -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';

Re: Build problem with latest git head

2013-11-10 Thread Timo Sintonen
On Sunday, 10 November 2013 at 09:20:11 UTC, Johannes Pfau wrote: In case you need a workaround right now: shared struct Register //Also working without shared here { size_t a; } shared(Register*) reg = cast(shared(Register*))0xFFDDCCAA; void main()

[Bug 84] Writes to struct members marked as shared are not volatile

2013-11-10 Thread gdc-bugzilla
http://bugzilla.gdcproject.org/show_bug.cgi?id=84 --- Comment #2 from Iain Buclaw 2013-11-10 11:23:45 GMT --- (In reply to comment #1) > In the generated ASM it looks like at least part of the problem is that the > struct is loaded into a register. Of course, then volatile has no effect. > Yep

[Bug 84] Writes to struct members marked as shared are not volatile

2013-11-10 Thread gdc-bugzilla
http://bugzilla.gdcproject.org/show_bug.cgi?id=84 --- Comment #1 from Johannes Pfau 2013-11-10 09:18:22 GMT --- In the generated ASM it looks like at least part of the problem is that the struct is loaded into a register. Of course, then volatile has no effect. Quoting from c-decl.c: --