aboutsummaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorHariharan Sandanagobalane <hariharan@picochip.com>2009-04-06 10:54:42 +0000
committerHariharan Sandanagobalane <hariharans@gcc.gnu.org>2009-04-06 10:54:42 +0000
commit6bdf8c2e535788b864e7a79c0aa5a7dc7b807c11 (patch)
treef391404e1a2d435831e1ad5a2b4499d26ccb7223 /gcc/calls.c
parent1d146030e28eb829762a0c888abf8733ec500b89 (diff)
downloadgcc-6bdf8c2e535788b864e7a79c0aa5a7dc7b807c11.zip
gcc-6bdf8c2e535788b864e7a79c0aa5a7dc7b807c11.tar.gz
gcc-6bdf8c2e535788b864e7a79c0aa5a7dc7b807c11.tar.bz2
calls.c (emit_library_call_value_1): Fix a problem with parameter alignment for library calls.
* calls.c (emit_library_call_value_1): Fix a problem with parameter alignment for library calls. From-SVN: r145586
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index 7bad365..b2d3bfa 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -3634,6 +3634,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
rtx val = argvec[argnum].value;
rtx reg = argvec[argnum].reg;
int partial = argvec[argnum].partial;
+ unsigned int parm_align = argvec[argnum].locate.boundary;
int lower_bound = 0, upper_bound = 0, i;
if (! (reg != 0 && partial == 0))
@@ -3695,7 +3696,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
}
}
- emit_push_insn (val, mode, NULL_TREE, NULL_RTX, PARM_BOUNDARY,
+ emit_push_insn (val, mode, NULL_TREE, NULL_RTX, parm_align,
partial, reg, 0, argblock,
GEN_INT (argvec[argnum].locate.offset.constant),
reg_parm_stack_space,