aboutsummaryrefslogtreecommitdiff
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
commit5a7225edc7080494da856b543861b0a90fa8997a (patch)
tree27591f03ed51ea0d8f13d31491fe4a1d7ecc1af6
parent7a3dbe4bf6579438697838729bfce27a5dec975f (diff)
downloadgdb-5a7225edc7080494da856b543861b0a90fa8997a.zip
gdb-5a7225edc7080494da856b543861b0a90fa8997a.tar.gz
gdb-5a7225edc7080494da856b543861b0a90fa8997a.tar.bz2
* amd64-tdep.c (amd64_classify): make RANGE_TYPE objects be part
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 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;