http://d.puremagic.com/issues/show_bug.cgi?id=9099
Dmitry Olshansky <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #4 from Dmitry Olshansky <[email protected]> 2012-12-27 04:39:38 PST --- (In reply to comment #2) > The problem is that atomicLoad() only works with POD (Plain Old Data) types. > Structs with constructors are not POD. It used to work. > Non-POD structs are returned with a > different calling convention than POD, hence the crash. > Then the definition of POD changed? And besides what's the difference for the atomic load? AFAICT in D all structs are PODs unless there is a postblit. There is no virtual table nor inheritance. Even C++11 extends POD definition to include member functions. Why should we go the opposite direction? > The fix is for atomicLoad() to reject attempts to instantiate it with non-POD > types. > Even if there was a clear definition of it in D... > The test case here should fail to compile. ... I expect atomicLoad to work with anything suitably sized w/o postblits and opAssign. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
