http://d.puremagic.com/issues/show_bug.cgi?id=8294
Summary: complex breaks calling in 64 bit DMD
Product: D
Version: D1
Platform: x86_64
OS/Version: Linux
Status: NEW
Severity: major
Priority: P2
Component: DMD
AssignedTo: [email protected]
ReportedBy: [email protected]
--- Comment #0 from Fawzi Mohamed <[email protected]> 2012-06-25 04:41:24 PDT ---
module t;
extern(C) int printf(char*,...);
void fff(void delegate(char[]) d, cfloat x){
printf("%p %p\n".ptr,d.funcptr,d.ptr);
}
int main(char[][] argv){
cfloat x;
auto d=delegate void(char[]) { };
printf("%p %p\n".ptr,d.funcptr,d.ptr);
fff(d,x);
return 0;
}
will print garbage in fff. The simple fact of passing in x pollutes the first
argument.
This is probably be related with Bug 5570, and the work done in it, as it is a
64 bit only issue.
D2 does not seem to have the issue.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------