Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 13093 - D ABI change for guaranteed efficient return of fixed size array #611

Merged
merged 1 commit into from Nov 27, 2014

Conversation

9rnsr
Copy link
Contributor

@9rnsr 9rnsr commented Jul 11, 2014

@ghost
Copy link

ghost commented Aug 3, 2014

@WalterBright @yebblies @ibuclaw @klickverbot:

This looks like a one-way street (IOW changing the ABI wording now means we can't backtrack later). So is this change ok?

@yebblies
Copy link
Member

yebblies commented Aug 3, 2014

Well, we don't have a commitment to a stable ABI, so we can change it later. There's a good chance we will, to match the other compilers.

Anyway, I don't see a reason we would ever want to pass static arrays differently to structs, so this looks good.

@ibuclaw
Copy link
Member

ibuclaw commented Aug 3, 2014

I don't have a commitment to follow what is written in abi.dd about extern(D).

  1. Because it only describes what to do for Windows x86.
  2. Since GDC and DMD have different mangling conventions (and runtime) for Windows x86 anyway, DMD guys can do what they want.

@ibuclaw
Copy link
Member

ibuclaw commented Aug 3, 2014

As per @yebblies comment though, indeed int[3] is meant to be passed in the same way as struct { int a, b, c; }

@quickfur
Copy link
Member

ping
Are we going ahead with this or not?

@dnadlinger
Copy link
Member

Static arrays are supposed to be passed the same way as the equivalent struct, so the change is fine with me. Can't comment on whether this matches the implementation though, as the description only concerns Windows x86.

MartinNowak added a commit that referenced this pull request Nov 27, 2014
Issue 13093 - D ABI change for guaranteed efficient return of fixed size array
@MartinNowak MartinNowak merged commit 22697d4 into dlang:master Nov 27, 2014
@9rnsr 9rnsr deleted the fix13093 branch January 19, 2015 01:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
6 participants