summaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorhariharans <hariharans@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-06 10:54:42 +0000
committerhariharans <hariharans@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-06 10:54:42 +0000
commitc2fd5e894fdeb68575bb5d0ca364886b0ab4e9e8 (patch)
treef391404e1a2d435831e1ad5a2b4499d26ccb7223 /gcc/calls.c
parent13a834aa4cc7bc9ba3d013146958de01fc964a3c (diff)
downloadgcc-c2fd5e894fdeb68575bb5d0ca364886b0ab4e9e8.tar.gz
* calls.c (emit_library_call_value_1): Fix a problem with parameter
alignment for library calls. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145586 138bc75d-0d04-0410-961f-82ee72b054a4
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 7bad365b5ac..b2d3bfa5145 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,