digitalmars.D.bugs - [Issue 5238] New: PATCH: fix return of uninitialised var in interpret.c
- d-bugmail puremagic.com (20/20) Nov 18 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5238
- d-bugmail puremagic.com (11/11) Nov 18 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5238
- d-bugmail puremagic.com (20/20) Nov 18 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5238
- d-bugmail puremagic.com (10/10) Nov 18 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5238
- d-bugmail puremagic.com (19/19) Nov 18 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5238
- d-bugmail puremagic.com (11/24) Nov 19 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5238
- d-bugmail puremagic.com (10/10) Dec 07 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5238
- d-bugmail puremagic.com (12/12) Dec 08 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5238
http://d.puremagic.com/issues/show_bug.cgi?id=5238 Summary: PATCH: fix return of uninitialised var in interpret.c Product: D Version: D2 Platform: Other OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: s.d.hammett googlemail.com --- Created an attachment (id=820) PATCH: fix return of uninitialised var in interpret.c As summary: triggered by test/runnable/interpret.d, line 2034 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 18 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5238 Brad Roberts <braddr puremagic.com> changed: What |Removed |Added ---------------------------------------------------------------------------- mime type| | patch| | -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 18 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5238 Brad Roberts <braddr puremagic.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |braddr puremagic.com --- With this patch applied on my system, I still fail to pass runnable/interpret.d with -O, but now a few lines later at 2110: 2106 int goodfoo3() 2107 { 2108 S[4] w = void; // uninitialized array of structs 2109 w[$-2].x = 217; // initialize one member 2110 return w[2].x; 2111 } 2112 static assert(goodfoo3()==217); Simon, did you find this due to a failure with no changes to interpret.d or with -O added to the set of compilation flags to test? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 18 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5238 --- changing 2109 below to just w[2] rather than w[$-2] (same array index) makes that problem go away. And with that change, the entire test passes, which is great. Just leaves one bug to find. :) Oh, and the error is: runnable/interpret.d(2110): Error: variable w used before set -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 18 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5238 --- Created an attachment (id=821) changes to runnable/interpret.d The problem is with the optimizer, not ctfe. Switching to this form, so that there's no code for the optimizer to chew on and complain about works: static assert(is(typeof(Compileable!( (){ S[4] w = void; // uninitialized array of structs w[$-2].x = 217; // initialize one member return w[2].x; }()).OK ))); I'll file a separate bug report for that. Adding a patch for runnable/interpret.d to be applied in addition to simon's changes. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 18 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5238 ---With this patch applied on my system, I still fail to pass runnable/interpret.d with -O, but now a few lines later at 2110: 2106 int goodfoo3() 2107 { 2108 S[4] w = void; // uninitialized array of structs 2109 w[$-2].x = 217; // initialize one member 2110 return w[2].x; 2111 } 2112 static assert(goodfoo3()==217); Simon, did you find this due to a failure with no changes to interpret.d or with -O added to the set of compilation flags to test?Neither. I've build DMD with Visual studio; the vc compiler does a pretty good job of detected these sorts of bugs in debug builds. I'll run the rest of the tests when I get home, see if there are any other gotchas lurking. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 19 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5238 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla digitalmars.com 15:20:17 PST --- http://www.dsource.org/projects/dmd/changeset/791 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 07 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5238 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED 17:35:55 PST --- Marking this as fixed since it passes the test suite, including the revised interpret.d -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Dec 08 2010