Do not pass NULL for the string in catch_errors
[deliverable/binutils-gdb.git] / gdb / msp430-tdep.c
index 896ee57fce4196cb0c785db7d957b371e09e41e9..4c22ee429c58b594db8bca6ed3a14366d872a4ad 100644 (file)
@@ -772,10 +772,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.023516 seconds and 4 git commands to generate.