[Issue 6047] New: Segfault when struct with three or more ulongs with a toString is passed to format with at least two substitution clauses.
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon May 23 05:05:49 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6047
Summary: Segfault when struct with three or more ulongs with a
toString is passed to format with at least two
substitution clauses.
Product: D
Version: D2
Platform: Other
OS/Version: Linux
Status: NEW
Severity: major
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: blood.of.life at gmail.com
--- Comment #0 from Bernard Helyer <blood.of.life at gmail.com> 2011-05-23 05:01:35 PDT ---
import std.string;
struct A { ulong a, b, c; string toString() { return ""; } }
void main()
{
A a;
format("%s%s", a, "");
}
There has to be at least 24 bytes (or so) of declarations, so at least three
ulongs. The toString has to be there. That second parameter to format has to be
there.
Somewhere, there is stack corruption happening. This is preventing SDC's 64 bit
build from working correctly (it crashes when it errors, as the Location struct
is passed to format, manifesting this when its size_t decls are 64 bits wide).
This could be from DMD or Phobos. I'm not sure.
--
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