aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/amd64-tdep.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9ff8846..fc63427 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2004-02-26 J. Brobecker <brobecker@gnat.com>
+
+ * amd64-tdep.c (amd64_classify): make RANGE_TYPE objects be part
+ of the INTEGER class.
+
2004-03-26 Jim Blandy <jimb@redhat.com>
* ppc-linux-tdep.c (ppc_linux_init_abi): Long doubles are eight
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
index 6d29163..1a66e45 100644
--- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c
@@ -371,8 +371,11 @@ amd64_classify (struct type *type, enum amd64_reg_class class[2])
class[0] = class[1] = AMD64_NO_CLASS;
/* Arguments of types (signed and unsigned) _Bool, char, short, int,
- long, long long, and pointers are in the INTEGER class. */
+ long, long long, and pointers are in the INTEGER class. Similarly,
+ range types, used by languages such as Ada, are also in the INTEGER
+ class. */
if ((code == TYPE_CODE_INT || code == TYPE_CODE_ENUM
+ || code == TYPE_CODE_RANGE
|| code == TYPE_CODE_PTR || code == TYPE_CODE_REF)
&& (len == 1 || len == 2 || len == 4 || len == 8))
class[0] = AMD64_INTEGER;