Bug 7891 – int[] broken in vararg if it appears after 5 arguments of type bool

Status
RESOLVED
Resolution
DUPLICATE
Severity
major
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
x86_64
OS
Linux
Creation time
2012-04-11T12:09:00Z
Last change time
2012-04-16T03:41:56Z
Assigned to
nobody
Creator
mathias.baumann

Attachments

IDFilenameSummaryContent-TypeSize
1090variadic.dtestcaseapplication/octet-stream1463

Comments

Comment #0 by mathias.baumann — 2012-04-11T12:09:32Z
Certain combination of parameters make an int[] array fail when called at a vararg function _inside_ a class. Output of attached program for me is: Note the length of the second inside block INSIDE: Size: 16 Array: len: 3 ptr: 7f8e5c733ce0. Size: 1 Bool: 1 Size: 1 Bool: 1 Size: 1 Bool: 1 Size: 1 Bool: 1 Size: 16 Array: len: 3 ptr: 7f8e5c733ce0. Size: 1 Bool: 1 INSIDE: Size: 1 Bool: 1 Size: 1 Bool: 1 Size: 1 Bool: 1 Size: 1 Bool: 1 Size: 1 Bool: 1 Size: 16 Array: len: 140249413139680 ptr: 3. Size: 1 Bool: 224 OUTSIDE: Size: 16 Array: len: 3 ptr: 7f8e5c733ce0. Size: 1 Bool: 1 Size: 1 Bool: 1 Size: 1 Bool: 1 Size: 1 Bool: 1 Size: 16 Array: len: 3 ptr: 7f8e5c733ce0. Size: 1 Bool: 1 Class: 7f8e5c733d00 140249413139712
Comment #1 by clugdbug — 2012-04-12T08:13:06Z
I think this might be the same as bug 6758. In this case the hidden 'this' parameter is messing with the alignment.
Comment #2 by clugdbug — 2012-04-13T03:26:23Z
This is a duplicate of bug 6758. See comments there. This is a horrific bug. *** This issue has been marked as a duplicate of issue 6758 ***
Comment #3 by mathias.baumann — 2012-04-16T03:21:14Z
Created attachment 1090 testcase I thought I added it, but apparently I did not. Here is the testcase.
Comment #4 by leandro.lucarella — 2012-04-16T03:41:56Z
(In reply to comment #3) > Created an attachment (id=1090) [details] > testcase > > I thought I added it, but apparently I did not. Here is the testcase. Maybe you should add it to the other bug then :)