digitalmars.D.bugs - [Issue 5275] New: x86_64 related hidden function parameter mishandled
- d-bugmail puremagic.com (38/38) Nov 25 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5275
- d-bugmail puremagic.com (11/11) Dec 08 2010 http://d.puremagic.com/issues/show_bug.cgi?id=5275
http://d.puremagic.com/issues/show_bug.cgi?id=5275
Summary: x86_64 related hidden function parameter mishandled
Product: D
Version: D1 & D2
Platform: Other
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: braddr puremagic.com
---
(split off from bug 5264)
module hrm;
struct BlkInfo { size_t size; }
extern (C) BlkInfo gc_qalloc();
void __setArrayAllocLength(ref BlkInfo info)
{
if(info.size) {}
}
extern (C) void foo()
{
BlkInfo info = gc_qalloc();
__setArrayAllocLength(info);
}
$ dmd -m64 -c hrm.d
Internal error: backend/cod1.c 2554
(same error and line number for both dmd1 and dmd2 from tip of svn for both)
call cleanup code in cod1.c funccall():
2936 if (tym1 == TYhfunc)
2937 { // Hidden parameter is popped off by the callee
2938 c = genadjesp(c, -4);
2939 stackpush -= 4;
This code isn't aware of the 32 vs 64 bit calling convention differences yet?
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Nov 25 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5275
Brad Roberts <braddr puremagic.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
---
This too is fixed. Thanks Walter.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 08 2010








d-bugmail puremagic.com