[Issue 6670] Compiler seg fault using std.concurrency.atomicOp
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Sep 17 21:02:07 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6670
--- Comment #3 from Brad Roberts <braddr at puremagic.com> 2011-09-17 21:01:43 PDT ---
My current reduction:
template isMutable(T)
{
enum isMutable = !is(T == const) && !is(T == immutable);
}
unittest
{
static assert(isMutable!(shared const(int)[]));
}
int atomicLoad( ref const shared int val )
{
return 0;
}
void main()
{
int a;
atomicLoad(a);
}
$ dmd bug6670.d
bug6670.d(20): Error: cast(shared(const(int)))a is not an lvalue
Not sure why the unused isMutable template is required, nor why the unittest
block is required when -unittest isn't part of the dmd arguments, but they are
and without them the code compiles.
Don or Daniel, either of you want to take this? I took it because I originally
thought it was a iasm or backend bug, which are areas I'm more familiar with.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list