[Issue 6250] New: [CTFE] Crash when swapping two pointers to arrays.
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Jul 4 19:41:58 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=6250
Summary: [CTFE] Crash when swapping two pointers to arrays.
Product: D
Version: D1 & D2
Platform: All
OS/Version: All
Status: NEW
Keywords: ice-on-valid-code
Severity: major
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: yebblies at gmail.com
--- Comment #0 from yebblies <yebblies at gmail.com> 2011-07-05 12:36:57 EST ---
void swap(int[]* lhs, int[]* rhs)
{
*lhs = *rhs;
*rhs = *lhs;
}
int ctfeSort()
{
int[][2] x;
swap(&x[0], &x[1]);
return 0;
}
void main()
{
enum x = ctfeSort();
}
Causes a stack overflow with dmd master (2.054)
The same thing happens when using references.
void swap(ref int[] lhs, ref int[] rhs)
{
lhs = rhs;
rhs = lhs;
}
int ctfeSort()
{
int[][2] x;
swap(x[0], x[1]);
return 0;
}
void main()
{
enum x = ctfeSort();
}
--
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