testsuite: Fix for gcc-4.8: gdb.base/jit.exp gdb.base/jit-so.exp
[deliverable/binutils-gdb.git] / gdb / msp430-tdep.c
index 896ee57fce4196cb0c785db7d957b371e09e41e9..4042ec3e32e7a9f8024fa44bf5f9b19822eca31b 100644 (file)
@@ -1,7 +1,7 @@
 /* Target-dependent code for the Texas Instruments MSP430 for GDB, the
    GNU debugger.
 
-   Copyright (C) 2012-2015 Free Software Foundation, Inc.
+   Copyright (C) 2012-2016 Free Software Foundation, Inc.
 
    Contributed by Red Hat, Inc.
 
@@ -583,13 +583,9 @@ static const struct frame_unwind msp430_unwind = {
 static int
 msp430_dwarf2_reg_to_regnum (struct gdbarch *gdbarch, int reg)
 {
-  if (reg < MSP430_NUM_REGS)
+  if (reg >= 0 && reg < MSP430_NUM_REGS)
     return reg + MSP430_NUM_REGS;
-  else
-    {
-      warning (_("Unmapped DWARF Register #%d encountered."), reg);
-      return -1;
-    }
+  return -1;
 }
 
 /* Implement the "return_value" gdbarch method.  */
@@ -772,10 +768,16 @@ msp430_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
                  int size = 2;
 
                  if (code_model == MSP_LARGE_CODE_MODEL
-                     && TYPE_CODE (arg_type) == TYPE_CODE_PTR)
+                     && (TYPE_CODE (arg_type) == TYPE_CODE_PTR
+                         || TYPE_CODE (arg_type) == TYPE_CODE_REF
+                         || TYPE_CODE (arg_type) == TYPE_CODE_STRUCT
+                         || TYPE_CODE (arg_type) == TYPE_CODE_UNION))
                    {
-                     /* Pointer arguments using large memory model are passed
-                        using entire register.  */
+                     /* When using the large memory model, pointer,
+                        reference, struct, and union arguments are
+                        passed using the entire register.  (As noted
+                        earlier, aggregates are always passed by
+                        reference.) */
                      if (offset != 0)
                        continue;
                      size = 4;
This page took 0.024279 seconds and 4 git commands to generate.