summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2004-03-26 23:15:40 +0000
committerJoel Brobecker <brobecker@gnat.com>2004-03-26 23:15:40 +0000
commit8741a08932e0b4d90d485830f965cd6d331344f8 (patch)
tree583581107fc8e539f9291ace6a212c9cfa97dfbb
parent3c21fef02b2e3513d4287006f3a1bd544295c080 (diff)
downloadgdb-8741a08932e0b4d90d485830f965cd6d331344f8.tar.gz
* amd64-tdep.c (amd64_classify): make RANGE_TYPE objects be partdrow_intercu-merge-20040327
of the INTEGER class.
-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 9ff88461d24..fc634276c9e 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 6d291632618..1a66e45b4fe 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;