re PR target/10142 ([SPARC64] gcc produces wrong code when passing structures by...
authorEric Botcazou <ebotcazou@libertysurf.fr>
Fri, 13 Jun 2003 03:56:10 +0000 (05:56 +0200)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Fri, 13 Jun 2003 03:56:10 +0000 (03:56 +0000)
commit48028e2196413a9dd37f204e8e019001dbd95338
tree6b5d3d014bf41f9b8d9449281ac2e3e8bb39309f
parent28e089c6fdabc1b432d442635a018677307cd1c2
re PR target/10142 ([SPARC64] gcc produces wrong code when passing structures by value)

PR target/10142
* config/sparc/sparc.c (function_arg_record_value_parms): Add
new 'stack' field.
(function_arg_record_value_1): Set 'stack' to 1 if we run out of
integer slots for an integer field.
(function_arg_record_value_3): Shift vector index.
(function_arg_record_value_2): Likewise.
(function_arg_record_value): Initialize 'stack' to 0.
Set 'stack' to 1 if we run out of integer slots for an integer field.
Generate (parallel [(expr_list (nil) ...) ...]) if 'stack' is set to 1.

Co-Authored-By: Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
From-SVN: r67874
gcc/ChangeLog
gcc/config/sparc/sparc.c