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

2013-11-09 Thread gdc-bugzilla
http://bugzilla.gdcproject.org/show_bug.cgi?id=84 Bug #: 84 Summary: Writes to struct members marked as shared are not volatile Classification: Unclassified Product: GDC Version: development Platform: All OS/Ve

Re: Build problem with latest git head

2013-11-09 Thread Iain Buclaw
On 9 November 2013 18:17, Johannes Pfau wrote: > Am Fri, 08 Nov 2013 21:00:18 +0100 > schrieb "Timo Sintonen" : > > > Now returning to my original problem. > > > > I tested various loops and it seems that write to a variable is > > not volatile even if the variable is marked shared. If I write to

Re: Build problem with latest git head

2013-11-09 Thread Johannes Pfau
Am Fri, 08 Nov 2013 21:00:18 +0100 schrieb "Timo Sintonen" : > Now returning to my original problem. > > I tested various loops and it seems that write to a variable is > not volatile even if the variable is marked shared. If I write to > a variable several times in a loop, all but the last wri

Re: GCC screws up pointer->ulong conversion on 32 bit systems

2013-11-09 Thread Johannes Pfau
Am Sat, 9 Nov 2013 17:01:43 + schrieb Iain Buclaw : > On 9 November 2013 12:19, Johannes Pfau wrote: > > The fix is simple: > > in gcc/convert.c(convert_to_integer): > > > > /* Convert to an unsigned integer of the correct width first, and > > from there widen/truncate to the required type.

Re: GCC screws up pointer->ulong conversion on 32 bit systems

2013-11-09 Thread Iain Buclaw
On 9 November 2013 12:19, Johannes Pfau wrote: > -- > #include > #include > > void test(void* p) > { > uint64_t pl = (uint64_t)p; > uint64_t p2 = (uint64_t)(int)p; > int tmp = (int)p; > uint64_t p3 = (uint64_t)tmp; > > printf("%llx

GCC screws up pointer->ulong conversion on 32 bit systems

2013-11-09 Thread Johannes Pfau
-- #include #include void test(void* p) { uint64_t pl = (uint64_t)p; uint64_t p2 = (uint64_t)(int)p; int tmp = (int)p; uint64_t p3 = (uint64_t)tmp; printf("%llx %llx %llx\n", pl, p2, p3); } void main() { void* p = (void*)0

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

2013-11-09 Thread Iain Buclaw
On Nov 8, 2013 7:20 PM, "Johannes Pfau" wrote: > > Am Fri, 8 Nov 2013 13:12:23 + > schrieb Iain Buclaw : > > > On 7 November 2013 18:05, Johannes Pfau wrote: > > > > > Am Thu, 7 Nov 2013 16:14:59 + > > > schrieb Iain Buclaw : > > > type here. It would allow code like this to work: "char[]