aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2010-08-06 23:22:52 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2010-08-06 23:22:52 +0000
commite0c7ff2305b2102b9db9536992fcae98377a7e97 (patch)
treebb4d48d1c1dd47f2540ea9cd53d2dbf62009af9f
parent8a0f25c3e783c450c75a139adf91c826584afd10 (diff)
downloadgcc-e0c7ff2305b2102b9db9536992fcae98377a7e97.zip
gcc-e0c7ff2305b2102b9db9536992fcae98377a7e97.tar.gz
gcc-e0c7ff2305b2102b9db9536992fcae98377a7e97.tar.bz2
re PR target/44942 (Bug in argument passing of long double)
PR target/44942 * config/sparc/sparc.c (function_arg_advance): Always take into account the padding, if any. From-SVN: r162967
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/sparc/sparc.c9
2 files changed, 10 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0ed05bd..d2ec553 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-08-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/44942
+ * config/sparc/sparc.c (function_arg_advance): Always take into account
+ the padding, if any.
+
2010-08-06 Richard Guenther <rguenther@suse.de>
* tree-ssa-ccp.c (struct prop_value_d): Add mask member.
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 48cf00e..ef1dd73 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -5809,14 +5809,13 @@ void
function_arg_advance (struct sparc_args *cum, enum machine_mode mode,
tree type, int named)
{
- int slotno, regno, padding;
+ int regno, padding;
/* We pass 0 for incoming_p here, it doesn't matter. */
- slotno = function_arg_slotno (cum, mode, type, named, 0, &regno, &padding);
+ function_arg_slotno (cum, mode, type, named, 0, &regno, &padding);
- /* If register required leading padding, add it. */
- if (slotno != -1)
- cum->words += padding;
+ /* If argument requires leading padding, add it. */
+ cum->words += padding;
if (TARGET_ARCH32)
{