http://d.puremagic.com/issues/show_bug.cgi?id=5570
--- Comment #29 from Iain Buclaw <ibuc...@ubuntu.com> 2012-06-27 10:02:08 PDT --- (In reply to comment #27) > (In reply to comment #26) > > (In reply to comment #25) > > > Sigh – seems like I was not exactly right about how GDC and LDC are > > > handling > > > arrays. Instead of treating them like the equivalent struct, they are > > > treated > > > as if length and pointer were two separate arguments […] > > They are created as a two field struct in GDC. > > Oh well, apparently GDC handles dynamic arrays like structs in most cases, but > as size_t/void* pairs for variadic arguments, ABI-wise – I discovered this > behavior looking at the generated assembly while working on the LDC vararg > ABI, > and didn't expect formal arguments to be treated differently. Maybe the > behavior should be unified? > Yes, that is correct for dynamic arrays. :~) It does it on a condition that's pre-set as 'true' and can't be altered by the user. Of course, if all two field types in D (D arrays; delegates) should *always* be passed in the same way as two field struct should be, then I can turn it off (and add a switch to toggle it), or remove this code. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------