static int
amd64_windows_passed_by_integer_register (struct type *type)
{
- switch (TYPE_CODE (type))
+ switch (type->code ())
{
case TYPE_CODE_INT:
case TYPE_CODE_ENUM:
static int
amd64_windows_passed_by_xmm_register (struct type *type)
{
- return ((TYPE_CODE (type) == TYPE_CODE_FLT
- || TYPE_CODE (type) == TYPE_CODE_DECFLOAT)
+ return ((type->code () == TYPE_CODE_FLT
+ || type->code () == TYPE_CODE_DECFLOAT)
&& (TYPE_LENGTH (type) == 4 || TYPE_LENGTH (type) == 8));
}
/* See if our value is returned through a register. If it is, then
store the associated register number in REGNUM. */
- switch (TYPE_CODE (type))
+ switch (type->code ())
{
case TYPE_CODE_FLT:
case TYPE_CODE_DECFLOAT:
return "UTF-16";
}
+/* Common parts for gdbarch initialization for Windows and Cygwin on AMD64. */
+
static void
amd64_windows_init_abi_common (gdbarch_info info, struct gdbarch *gdbarch)
{
amd64_init_abi (info, gdbarch,
amd64_target_description (X86_XSTATE_SSE_MASK, false));
- windows_init_abi (info, gdbarch);
-
/* Function calls. */
set_gdbarch_push_dummy_call (gdbarch, amd64_windows_push_dummy_call);
set_gdbarch_return_value (gdbarch, amd64_windows_return_value);
set_gdbarch_auto_wide_charset (gdbarch, amd64_windows_auto_wide_charset);
}
+/* gdbarch initialization for Windows on AMD64. */
+
static void
amd64_windows_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
amd64_windows_init_abi_common (info, gdbarch);
+ windows_init_abi (info, gdbarch);
/* On Windows, "long"s are only 32bit. */
set_gdbarch_long_bit (gdbarch, 32);
}
+/* gdbarch initialization for Cygwin on AMD64. */
+
static void
amd64_cygwin_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
amd64_windows_init_abi_common (info, gdbarch);
+ cygwin_init_abi (info, gdbarch);
}
static gdb_osabi