[Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 --- Comment #11 from Michael Hudson-Doyle --- Er yes, this was fixed before 4.9.0.
[Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 Ramana Radhakrishnan changed: What|Removed |Added Status|ASSIGNED|RESOLVED CC||ramana at gcc dot gnu.org Resolution|--- |FIXED Target Milestone|--- |5.0 --- Comment #10 from Ramana Radhakrishnan --- This is fixed for 5.0 - we aren't taking ABI changes back into release branches AFAIK.
[Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 --- Comment #9 from yroux at gcc dot gnu.org --- Author: yroux Date: Wed Feb 19 15:32:54 2014 New Revision: 207908 URL: http://gcc.gnu.org/viewcvs?rev=207908&root=gcc&view=rev Log: 2014-02-19 Michael Hudson-Doyle PR target/59799 * config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for passing arrays in registers are the same as for structs, so remove the special case for them. Modified: trunk/gcc/ChangeLog trunk/gcc/config/aarch64/aarch64.c
[Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 Yufeng Zhang changed: What|Removed |Added Status|NEW |ASSIGNED CC||yufeng at gcc dot gnu.org Assignee|unassigned at gcc dot gnu.org |michael.hudson at linaro dot org
[Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 --- Comment #8 from Ian Lance Taylor --- You'll need to send the patch to gcc-patches for approval, if you haven't already done so.
[Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 --- Comment #7 from Michael Hudson-Doyle --- There are no additional failures with this patch (and the only additional pass is libgo's reflect test).
[Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 --- Comment #6 from Michael Hudson-Doyle --- Created attachment 31861 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31861&action=edit Simple fix This very simple patch (just deleting the offending lines) makes the go test case that was failing pass. I'm running a complete test suite run now, will update on how it looks when it's done.
[Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 Eric Botcazou changed: What|Removed |Added CC||ebotcazou at gcc dot gnu.org --- Comment #5 from Eric Botcazou --- > Does go or Ada allow passing arrays by value? Yes for Ada as well.
[Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 Andrew Pinski changed: What|Removed |Added Keywords||wrong-code Status|UNCONFIRMED |NEW Last reconfirmed||2014-01-15 Ever confirmed|0 |1 --- Comment #4 from Andrew Pinski --- Confirmed.
[Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 Ian Lance Taylor changed: What|Removed |Added CC||ian at airs dot com --- Comment #3 from Ian Lance Taylor --- Go supports passing arrays by value. That's where Michael ran into this issue (http://golang.org/issue/7120).
[Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 --- Comment #2 from Andrew Pinski --- (In reply to Andrew Pinski from comment #1) > Does go or Ada allow passing arrays by value? I know fortran does not at least directly. In that the front-end creates a structure for the argument instead.
[Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799 --- Comment #1 from Andrew Pinski --- "It should be noted that the above algorithm makes provision for languages other than C and C++ in that it provides for passing arrays by value and for passing arguments of dynamic size." Note the other than C/C++ part here. This means it only effects non C/C++ languages. Does go or Ada allow passing arrays by value?