This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]