]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/rx-tdep.c
Pass return_method to _push_dummy_call
[thirdparty/binutils-gdb.git] / gdb / rx-tdep.c
index 94d57913a316e18d5df6410138d981a40fd5d6a6..2f797b168a2ea3d0bdda7b6895f37ad42f09accc 100644 (file)
@@ -784,7 +784,8 @@ rx_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
 static CORE_ADDR
 rx_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                    struct regcache *regcache, CORE_ADDR bp_addr, int nargs,
-                   struct value **args, CORE_ADDR sp, int struct_return,
+                   struct value **args, CORE_ADDR sp,
+                   function_call_return_method return_method,
                    CORE_ADDR struct_addr)
 {
   enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
@@ -830,7 +831,7 @@ rx_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
        sp = align_down (sp - sp_off, 4);
       sp_off = 0;
 
-      if (struct_return)
+      if (return_method == return_method_struct)
        {
          struct type *return_type = TYPE_TARGET_TYPE (func_type);
 
@@ -854,7 +855,8 @@ rx_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
          struct type *arg_type = check_typedef (value_type (arg));
          ULONGEST arg_size = TYPE_LENGTH (arg_type);
 
-         if (i == 0 && struct_addr != 0 && !struct_return
+         if (i == 0 && struct_addr != 0
+             && return_method != return_method_struct
              && TYPE_CODE (arg_type) == TYPE_CODE_PTR
              && extract_unsigned_integer (arg_bits, 4,
                                           byte_order) == struct_addr)