* [Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
2014-01-14 1:59 [Bug target/59799] New: aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation michael.hudson at linaro dot org
@ 2014-01-14 2:04 ` pinskia at gcc dot gnu.org
2014-01-14 2:05 ` pinskia at gcc dot gnu.org
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-01-14 2:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
"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?
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
2014-01-14 1:59 [Bug target/59799] New: aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation michael.hudson at linaro dot org
2014-01-14 2:04 ` [Bug target/59799] " pinskia at gcc dot gnu.org
@ 2014-01-14 2:05 ` pinskia at gcc dot gnu.org
2014-01-14 2:06 ` ian at airs dot com
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-01-14 2:05 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(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.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
2014-01-14 1:59 [Bug target/59799] New: aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation michael.hudson at linaro dot org
2014-01-14 2:04 ` [Bug target/59799] " pinskia at gcc dot gnu.org
2014-01-14 2:05 ` pinskia at gcc dot gnu.org
@ 2014-01-14 2:06 ` ian at airs dot com
2014-01-15 0:48 ` pinskia at gcc dot gnu.org
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: ian at airs dot com @ 2014-01-14 2:06 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799
Ian Lance Taylor <ian at airs dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ian at airs dot com
--- Comment #3 from Ian Lance Taylor <ian at airs dot com> ---
Go supports passing arrays by value. That's where Michael ran into this issue
(http://golang.org/issue/7120).
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
2014-01-14 1:59 [Bug target/59799] New: aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation michael.hudson at linaro dot org
` (2 preceding siblings ...)
2014-01-14 2:06 ` ian at airs dot com
@ 2014-01-15 0:48 ` pinskia at gcc dot gnu.org
2014-01-15 9:04 ` ebotcazou at gcc dot gnu.org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu.org @ 2014-01-15 0:48 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-code
Status|UNCONFIRMED |NEW
Last reconfirmed| |2014-01-15
Ever confirmed|0 |1
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
2014-01-14 1:59 [Bug target/59799] New: aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation michael.hudson at linaro dot org
` (3 preceding siblings ...)
2014-01-15 0:48 ` pinskia at gcc dot gnu.org
@ 2014-01-15 9:04 ` ebotcazou at gcc dot gnu.org
2014-01-16 22:19 ` michael.hudson at linaro dot org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2014-01-15 9:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ebotcazou at gcc dot gnu.org
--- Comment #5 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> Does go or Ada allow passing arrays by value?
Yes for Ada as well.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
2014-01-14 1:59 [Bug target/59799] New: aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation michael.hudson at linaro dot org
` (4 preceding siblings ...)
2014-01-15 9:04 ` ebotcazou at gcc dot gnu.org
@ 2014-01-16 22:19 ` michael.hudson at linaro dot org
2014-01-17 1:43 ` michael.hudson at linaro dot org
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: michael.hudson at linaro dot org @ 2014-01-16 22:19 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799
--- Comment #6 from Michael Hudson-Doyle <michael.hudson at linaro dot org> ---
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.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
2014-01-14 1:59 [Bug target/59799] New: aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation michael.hudson at linaro dot org
` (5 preceding siblings ...)
2014-01-16 22:19 ` michael.hudson at linaro dot org
@ 2014-01-17 1:43 ` michael.hudson at linaro dot org
2014-01-17 4:51 ` ian at airs dot com
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: michael.hudson at linaro dot org @ 2014-01-17 1:43 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799
--- Comment #7 from Michael Hudson-Doyle <michael.hudson at linaro dot org> ---
There are no additional failures with this patch (and the only additional pass
is libgo's reflect test).
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
2014-01-14 1:59 [Bug target/59799] New: aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation michael.hudson at linaro dot org
` (6 preceding siblings ...)
2014-01-17 1:43 ` michael.hudson at linaro dot org
@ 2014-01-17 4:51 ` ian at airs dot com
2014-01-17 18:19 ` yufeng at gcc dot gnu.org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: ian at airs dot com @ 2014-01-17 4:51 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799
--- Comment #8 from Ian Lance Taylor <ian at airs dot com> ---
You'll need to send the patch to gcc-patches for approval, if you haven't
already done so.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
2014-01-14 1:59 [Bug target/59799] New: aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation michael.hudson at linaro dot org
` (7 preceding siblings ...)
2014-01-17 4:51 ` ian at airs dot com
@ 2014-01-17 18:19 ` yufeng at gcc dot gnu.org
2014-02-19 15:33 ` yroux at gcc dot gnu.org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: yufeng at gcc dot gnu.org @ 2014-01-17 18:19 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799
Yufeng Zhang <yufeng at gcc dot gnu.org> 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
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
2014-01-14 1:59 [Bug target/59799] New: aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation michael.hudson at linaro dot org
` (8 preceding siblings ...)
2014-01-17 18:19 ` yufeng at gcc dot gnu.org
@ 2014-02-19 15:33 ` yroux at gcc dot gnu.org
2014-10-27 15:24 ` ramana at gcc dot gnu.org
2014-10-27 20:25 ` michael.hudson at linaro dot org
11 siblings, 0 replies; 13+ messages in thread
From: yroux at gcc dot gnu.org @ 2014-02-19 15:33 UTC (permalink / raw)
To: gcc-bugs
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 <michael.hudson@linaro.org>
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
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
2014-01-14 1:59 [Bug target/59799] New: aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation michael.hudson at linaro dot org
` (9 preceding siblings ...)
2014-02-19 15:33 ` yroux at gcc dot gnu.org
@ 2014-10-27 15:24 ` ramana at gcc dot gnu.org
2014-10-27 20:25 ` michael.hudson at linaro dot org
11 siblings, 0 replies; 13+ messages in thread
From: ramana at gcc dot gnu.org @ 2014-10-27 15:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799
Ramana Radhakrishnan <ramana at gcc dot gnu.org> 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 <ramana at gcc dot gnu.org> ---
This is fixed for 5.0 - we aren't taking ABI changes back into release branches
AFAIK.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug target/59799] aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation
2014-01-14 1:59 [Bug target/59799] New: aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation michael.hudson at linaro dot org
` (10 preceding siblings ...)
2014-10-27 15:24 ` ramana at gcc dot gnu.org
@ 2014-10-27 20:25 ` michael.hudson at linaro dot org
11 siblings, 0 replies; 13+ messages in thread
From: michael.hudson at linaro dot org @ 2014-10-27 20:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59799
--- Comment #11 from Michael Hudson-Doyle <michael.hudson at linaro dot org> ---
Er yes, this was fixed before 4.9.0.
^ permalink raw reply [flat|nested] 13+ messages in thread