digitalmars.D.bugs - [Issue 5178] New: StructLiteral should not be lvalue
- d-bugmail puremagic.com (28/28) Nov 06 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5178
- d-bugmail puremagic.com (12/12) Mar 31 2011 http://d.puremagic.com/issues/show_bug.cgi?id=5178
- d-bugmail puremagic.com (12/12) Jan 30 2012 http://d.puremagic.com/issues/show_bug.cgi?id=5178
http://d.puremagic.com/issues/show_bug.cgi?id=5178 Summary: StructLiteral should not be lvalue Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Keywords: accepts-invalid Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: k.hara.pg gmail.com Created an attachment (id=802) Patch for DMD svn r737 This code generates wrong code. struct S{} void swap(ref S a, ref S b){} ref S get(){return S();} //should be rejected void main(){ swap(get(), get()); } In function swap, a and b access invalid local stack address. I think StructLiteral should not be lvalue, but current dmd allows it. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Nov 06 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5178 Walter Bright <bugzilla digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bugzilla digitalmars.com 15:24:09 PDT --- I believe the patch is the wrong fix. It is valid for struct literals (and other temporaries) to be lvalues. What is not valid is to return a reference to a stack variable. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 31 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5178 yebblies <yebblies gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |yebblies gmail.com Resolution| |DUPLICATE *** This issue has been marked as a duplicate of issue 5889 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 30 2012