digitalmars.D.bugs - [Issue 7245] New: [CTFE] Address of ref foreach parameter changes to point after array
- d-bugmail puremagic.com (33/33) Jan 07 2012 http://d.puremagic.com/issues/show_bug.cgi?id=7245
- d-bugmail puremagic.com (21/21) Jan 07 2012 http://d.puremagic.com/issues/show_bug.cgi?id=7245
- d-bugmail puremagic.com (13/13) Jan 14 2012 http://d.puremagic.com/issues/show_bug.cgi?id=7245
http://d.puremagic.com/issues/show_bug.cgi?id=7245
Summary: [CTFE] Address of ref foreach parameter changes to
point after array
Product: D
Version: D1 & D2
Platform: Other
OS/Version: Windows
Status: NEW
Keywords: ice-on-valid-code
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: verylonglogin.reg gmail.com
---
---
int func() {
int[2] arr;
int* ptr;
foreach(i, ref p; arr) if(i == 0)
ptr = &p;
int j = *ptr;
return 0;
}
enum e = func();
---
Error: array index 2 is out of bounds [0,0][0 .. 2]
Error: CTFE internal error: illegal value __error
Assertion failure: 'isCtfeValueValid(newval)' on line 6369 in file
'interpret.c'
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 07 2012
http://d.puremagic.com/issues/show_bug.cgi?id=7245
---
Another illustration (foreach is in function now):
---
int func() {
int[2] arr;
int* ptr;
void f() {
//Error: variable __aggr3 is used before initialization
foreach(i, ref p; arr) if(i == 0)
ptr = &p;
}
f();
int i = *ptr;
return 0;
}
enum e = func();
---
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 07 2012
http://d.puremagic.com/issues/show_bug.cgi?id=7245
Walter Bright <bugzilla digitalmars.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |bugzilla digitalmars.com
Resolution| |FIXED
17:40:27 PST ---
https://github.com/D-Programming-Language/dmd/commit/1cbd1959e41d39c812a8f4c1a17eb8535d44547a
https://github.com/D-Programming-Language/dmd/commit/1394b3c55c740106555cd484697019e4a9b77109
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 14 2012









d-bugmail puremagic.com 