This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] xtensa: Fix implicit enum conversions
- From: Simon Marchi <simark at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 22 Oct 2015 13:49:06 -0000
- Subject: [binutils-gdb] xtensa: Fix implicit enum conversions
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=60905b1e2a5fbd734bfd026cd77b9641cc5f3e66
commit 60905b1e2a5fbd734bfd026cd77b9641cc5f3e66
Author: Simon Marchi <simon.marchi@polymtl.ca>
Date: Thu Oct 22 09:46:32 2015 -0400
xtensa: Fix implicit enum conversions
XTREG is used with raw numbers, like:
...
XTREG( 78,312,32, 4, 4,0x02d7,0x0007,-2, 2,0x1000,excsave7, 0,0,0,0,0,0)
XTREG( 79,316, 8, 4, 4,0x02e0,0x0007,-2, 2,0x1000,cpenable, 0,0,0,0,0,0)
XTREG( 80,320,22, 4, 4,0x02e2,0x000b,-2, 2,0x1000,interrupt, 0,0,0,0,0,0)
XTREG( 81,324,22, 4, 4,0x02e2,0x000d,-2, 2,0x1000,intset, 0,0,0,0,0,0)
...
So just add the explicit cast to the macro.
In file included from /home/pedro/gdb/mygit/src/gdb/xtensa-config.c:25:0:
/home/pedro/gdb/mygit/src/gdb/xtensa-tdep.h:289:2: error: invalid conversion from ââ?¬Ë?intââ?¬â?¢ to ââ?¬Ë?call_abi_tââ?¬â?¢ [-fpermissive]
}
^
gdb/ChangeLog:
* xtensa-tdep.h (XTREG): Add casts.
(XTREG_END): Likewise.
Diff:
---
gdb/ChangeLog | 5 +++++
gdb/xtensa-tdep.h | 8 ++++++--
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 6fefc63..0df8246 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2015-10-22 Simon Marchi <simon.marchi@polymtl.ca>
+ * xtensa-tdep.h (XTREG): Add casts.
+ (XTREG_END): Likewise.
+
+2015-10-22 Simon Marchi <simon.marchi@polymtl.ca>
+
* solib-spu.c (spu_bfd_iovec_pread): Add (gdb_byte *) cast.
2015-10-22 Simon Marchi <simon.marchi@polymtl.ca>
diff --git a/gdb/xtensa-tdep.h b/gdb/xtensa-tdep.h
index fbf0e1d..275f40d 100644
--- a/gdb/xtensa-tdep.h
+++ b/gdb/xtensa-tdep.h
@@ -124,9 +124,13 @@ typedef struct
/* For xtensa-config.c to expand to the structure above. */
#define XTREG(index,ofs,bsz,sz,al,tnum,flg,cp,ty,gr,name,fet,sto,mas,ct,x,y) \
- {#name, ofs, ty, ((gr) | ((xtRegisterGroupNCP >> 2) << (cp + 2))), \
+ {#name, ofs, (xtensa_register_type_t) (ty), \
+ ((xtensa_register_group_t) \
+ ((gr) | ((xtRegisterGroupNCP >> 2) << (cp + 2)))), \
ct, bsz, sz, al, tnum, flg, cp, mas, fet, sto},
-#define XTREG_END {0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0},
+#define XTREG_END \
+ {0, 0, (xtensa_register_type_t) 0, (xtensa_register_group_t) 0, \
+ 0, 0, 0, 0, -1, 0, 0, 0, 0, 0},
#define XTENSA_REGISTER_FLAGS_PRIVILEGED 0x0001
#define XTENSA_REGISTER_FLAGS_READABLE 0x0002