This is the mail archive of the gdb-patches@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]

[PATCH 08/26] -Wpointer-sign: s390-tdep.c.


-Wpointer-sign reveals a bunch of:

../../src/gdb/s390-tdep.c:1342:7: error: pointer targets in passing argument 4 of âis_rxâ differ in signedness [-Werror=pointer-sign]
../../src/gdb/s390-tdep.c:1038:1: note: expected âunsigned int *â but argument is of type âint *â
../../src/gdb/s390-tdep.c:1343:9: error: pointer targets in passing argument 5 of âis_rxyâ differ in signedness [-Werror=pointer-sign]
../../src/gdb/s390-tdep.c:1055:1: note: expected âunsigned int *â but argument is of type âint *â
../../src/gdb/s390-tdep.c:1344:9: error: pointer targets in passing argument 5 of âis_rxyâ differ in signedness [-Werror=pointer-sign]
../../src/gdb/s390-tdep.c:1055:1: note: expected âunsigned int *â but argument is of type âint *â
...
../../src/gdb/s390-tdep.c:1363:7: error: pointer targets in passing argument 5 of âis_rsâ differ in signedness [-Werror=pointer-sign]
../../src/gdb/s390-tdep.c:966:1: note: expected âunsigned int *â but argument is of type âint *â
../../src/gdb/s390-tdep.c:1364:9: error: pointer targets in passing argument 6 of âis_rsyâ differ in signedness [-Werror=pointer-sign]
../../src/gdb/s390-tdep.c:983:1: note: expected âunsigned int *â but argument is of type âint *â
../../src/gdb/s390-tdep.c:1365:9: error: pointer targets in passing argument 6 of âis_rsyâ differ in signedness [-Werror=pointer-sign]
../../src/gdb/s390-tdep.c:983:1: note: expected âunsigned int *â but argument is of type âint *â
...

I don't know much about s390, but from reading the code I believe the
right fix is to treat d2 as signed.

gdb/
2013-04-11  Pedro Alves  <palves@redhat.com>

	* s390-tdep.c (is_rs, is_rsy, is_rx, is_rxy): Change type of 'd2'
	parameter to int *.
---
 gdb/s390-tdep.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c
index 50f8877..641bc80 100644
--- a/gdb/s390-tdep.c
+++ b/gdb/s390-tdep.c
@@ -964,7 +964,7 @@ is_rre (bfd_byte *insn, int op, unsigned int *r1, unsigned int *r2)
 
 static int
 is_rs (bfd_byte *insn, int op,
-       unsigned int *r1, unsigned int *r3, unsigned int *d2, unsigned int *b2)
+       unsigned int *r1, unsigned int *r3, int *d2, unsigned int *b2)
 {
   if (insn[0] == op)
     {
@@ -981,7 +981,7 @@ is_rs (bfd_byte *insn, int op,
 
 static int
 is_rsy (bfd_byte *insn, int op1, int op2,
-        unsigned int *r1, unsigned int *r3, unsigned int *d2, unsigned int *b2)
+        unsigned int *r1, unsigned int *r3, int *d2, unsigned int *b2)
 {
   if (insn[0] == op1
       && insn[5] == op2)
@@ -1036,7 +1036,7 @@ is_rie (bfd_byte *insn, int op1, int op2,
 
 static int
 is_rx (bfd_byte *insn, int op,
-       unsigned int *r1, unsigned int *d2, unsigned int *x2, unsigned int *b2)
+       unsigned int *r1, int *d2, unsigned int *x2, unsigned int *b2)
 {
   if (insn[0] == op)
     {
@@ -1053,7 +1053,7 @@ is_rx (bfd_byte *insn, int op,
 
 static int
 is_rxy (bfd_byte *insn, int op1, int op2,
-        unsigned int *r1, unsigned int *d2, unsigned int *x2, unsigned int *b2)
+        unsigned int *r1, int *d2, unsigned int *x2, unsigned int *b2)
 {
   if (insn[0] == op1
       && insn[5] == op2)


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