On Sunday, September 04, 2011 22:49:00 Brad Roberts wrote: > On 9/4/2011 10:31 PM, Jonathan M Davis wrote: > > On Sunday, September 04, 2011 22:12:35 Walter Bright wrote: > >> On 9/4/2011 10:03 PM, Walter Bright wrote: > >>> This causes the std.conv unittests to fail on linux with a seg > >>> fault. > >> > >> Please fix as this is blocking the beta. > > > > A fix has been merged in. It looks like std.conv.parse (which takes a > > string by ref) was accepting string literals and then segfaulting on > > them. > > > > - Jonathan M Davis > > This doesn't feel like a fix so much as a workaround. It doesn't segfault, > which is good, but it leaves the underlying problem ready to recur pretty > easily. Is there a problem with spec, the compiler implementation, phobos, > ...?
It's a bug in dmd. string literals aren't lvalues and shouldn't be accepted as such. I thought that there was a bug reported specifically on this, but I don't see one at the moment. The closest that I see is http://d.puremagic.com/issues/show_bug.cgi?id=4539 So, I should probably report it. What makes it nastier is that string literals aren't put in read-only memory on Windows, so they work in this sort of situation whereas on Linux, they blow up, since it _does_ put string literals in read-only memory. - Jonathan M Davis _______________________________________________ phobos mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/phobos
