aboutsummaryrefslogtreecommitdiffstats
path: root/powerpc/Asmexpand.ml
diff options
context:
space:
mode:
Diffstat (limited to 'powerpc/Asmexpand.ml')
-rw-r--r--powerpc/Asmexpand.ml8
1 files changed, 4 insertions, 4 deletions
diff --git a/powerpc/Asmexpand.ml b/powerpc/Asmexpand.ml
index 86b74ab1..870b20b3 100644
--- a/powerpc/Asmexpand.ml
+++ b/powerpc/Asmexpand.ml
@@ -308,10 +308,10 @@ let rec next_arg_locations ir fr ofs = function
else next_arg_locations ir fr (align ofs 8 + 8) l
let expand_builtin_va_start r =
- if not (!current_function).fn_sig.sig_cc.cc_vararg then
+ if not (is_current_function_variadic ()) then
invalid_arg "Fatal error: va_start used in non-vararg function";
let (ir, fr, ofs) =
- next_arg_locations 0 0 0 (!current_function).fn_sig.sig_args in
+ next_arg_locations 0 0 0 (get_current_function_args ()) in
emit_loadimm GPR0 (Z.of_uint ir);
emit (Pstb(GPR0, Cint _0, r));
emit_loadimm GPR0 (Z.of_uint fr);
@@ -642,7 +642,7 @@ let num_crbit = function
let expand_instruction instr =
match instr with
| Pallocframe(sz, ofs,retofs) ->
- let variadic = (!current_function).fn_sig.sig_cc.cc_vararg in
+ let variadic = is_current_function_variadic () in
let sz = camlint_of_coqint sz in
assert (ofs = _0);
let sz = if variadic then Int32.add sz 96l else sz in
@@ -667,7 +667,7 @@ let expand_instruction instr =
set_cr6 sg;
emit instr
| Pfreeframe(sz, ofs) ->
- let variadic = (!current_function).fn_sig.sig_cc.cc_vararg in
+ let variadic = is_current_function_variadic () in
let sz = camlint_of_coqint sz in
let sz = if variadic then Int32.add sz 96l else sz in
if sz < 0x8000l && sz >= 0l then