Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tom@tromey.com>
To: gdb-patches@sourceware.org
Cc: Tom Tromey <tom@tromey.com>
Subject: [PATCH 5/7] Avoid -Wnarrowing warnings in ppc64-tdep.c
Date: Wed, 08 Aug 2018 23:20:00 -0000	[thread overview]
Message-ID: <20180808232016.12777-6-tom@tromey.com> (raw)
In-Reply-To: <20180808232016.12777-1-tom@tromey.com>

This avoids -Wnarrowing warnings in ppc64-tdep.c, by adding a few
casts to unsigned.

gdb/ChangeLog
2018-08-08  Tom Tromey  <tom@tromey.com>

	* ppc64-tdep.c (insn_d, insn_ds, insn_xfx): Add casts to
	unsigned.
	(ppc64_standard_linkage1, ppc64_standard_linkage2)
	(ppc64_standard_linkage3, ppc64_standard_linkage4)
	(ppc64_standard_linkage5, ppc64_standard_linkage6)
	(ppc64_standard_linkage7, ppc64_standard_linkage8): Add casts to
	unsigned.
---
 gdb/ChangeLog    | 10 +++++++
 gdb/ppc64-tdep.c | 86 ++++++++++++++++++++++++++++----------------------------
 2 files changed, 53 insertions(+), 43 deletions(-)

diff --git a/gdb/ppc64-tdep.c b/gdb/ppc64-tdep.c
index 5d8ccb48d4..4b8dd3fe3f 100644
--- a/gdb/ppc64-tdep.c
+++ b/gdb/ppc64-tdep.c
@@ -30,24 +30,24 @@
    you can use -1 to make masks.  */
 
 #define insn_d(opcd, rts, ra, d)                \
-  ((((opcd) & 0x3f) << 26)                      \
-   | (((rts) & 0x1f) << 21)                     \
-   | (((ra) & 0x1f) << 16)                      \
-   | ((d) & 0xffff))
+  ((((unsigned (opcd)) & 0x3f) << 26)		\
+   | (((unsigned (rts)) & 0x1f) << 21)		\
+   | (((unsigned (ra)) & 0x1f) << 16)		\
+   | ((unsigned (d)) & 0xffff))
 
 #define insn_ds(opcd, rts, ra, d, xo)           \
-  ((((opcd) & 0x3f) << 26)                      \
-   | (((rts) & 0x1f) << 21)                     \
-   | (((ra) & 0x1f) << 16)                      \
-   | ((d) & 0xfffc)                             \
-   | ((xo) & 0x3))
+  ((((unsigned (opcd)) & 0x3f) << 26)                      \
+   | (((unsigned (rts)) & 0x1f) << 21)                     \
+   | (((unsigned (ra)) & 0x1f) << 16)                      \
+   | ((unsigned (d)) & 0xfffc)                             \
+   | ((unsigned (xo)) & 0x3))
 
 #define insn_xfx(opcd, rts, spr, xo)            \
-  ((((opcd) & 0x3f) << 26)                      \
-   | (((rts) & 0x1f) << 21)                     \
-   | (((spr) & 0x1f) << 16)                     \
-   | (((spr) & 0x3e0) << 6)                     \
-   | (((xo) & 0x3ff) << 1))
+  ((((unsigned (opcd)) & 0x3f) << 26)                      \
+   | (((unsigned (rts)) & 0x1f) << 21)                     \
+   | (((unsigned (spr)) & 0x1f) << 16)                     \
+   | (((unsigned (spr)) & 0x3e0) << 6)                     \
+   | (((unsigned (xo)) & 0x3ff) << 1))
 
 /* PLT_OFF is the TOC-relative offset of a 64-bit PowerPC PLT entry.
    Return the function's entry point.  */
@@ -86,7 +86,7 @@ static const struct ppc_insn_pattern ppc64_standard_linkage1[] =
     { insn_d (-1, -1, -1, 0), insn_d (15, 12, 2, 0), 0 },
 
     /* std r2, 40(r1) */
-    { -1, insn_ds (62, 2, 1, 40, 0), 0 },
+    { (unsigned) -1, insn_ds (62, 2, 1, 40, 0), 0 },
 
     /* ld r11, <any>(r12) */
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 12, 0, 0), 0 },
@@ -107,7 +107,7 @@ static const struct ppc_insn_pattern ppc64_standard_linkage1[] =
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 12, 0, 0), 1 },
 
     /* bctr */
-    { -1, 0x4e800420, 0 },
+    { (unsigned) -1, 0x4e800420, 0 },
 
     { 0, 0, 0 }
   };
@@ -122,13 +122,13 @@ static const struct ppc_insn_pattern ppc64_standard_linkage1[] =
 static const struct ppc_insn_pattern ppc64_standard_linkage2[] =
   {
     /* std r2, 40(r1) <optional> */
-    { -1, insn_ds (62, 2, 1, 40, 0), 1 },
+    { (unsigned) -1, insn_ds (62, 2, 1, 40, 0), 1 },
 
     /* addis r12, r2, <any> */
     { insn_d (-1, -1, -1, 0), insn_d (15, 12, 2, 0), 0 },
 
     /* std r2, 40(r1) <optional> */
-    { -1, insn_ds (62, 2, 1, 40, 0), 1 },
+    { (unsigned) -1, insn_ds (62, 2, 1, 40, 0), 1 },
 
     /* ld r11, <any>(r12) */
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 12, 0, 0), 0 },
@@ -140,10 +140,10 @@ static const struct ppc_insn_pattern ppc64_standard_linkage2[] =
     { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 11, 9, 467), 0 },
 
     /* xor r11, r11, r11 <optional> */
-    { -1, 0x7d6b5a78, 1 },
+    { (unsigned) -1, 0x7d6b5a78, 1 },
 
     /* add r12, r12, r11 <optional> */
-    { -1, 0x7d8c5a14, 1 },
+    { (unsigned) -1, 0x7d8c5a14, 1 },
 
     /* ld r2, <any>(r12) */
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 2, 12, 0, 0), 0 },
@@ -152,10 +152,10 @@ static const struct ppc_insn_pattern ppc64_standard_linkage2[] =
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 12, 0, 0), 1 },
 
     /* bctr <optional> */
-    { -1, 0x4e800420, 1 },
+    { (unsigned) -1, 0x4e800420, 1 },
 
     /* cmpldi r2, 0 <optional> */
-    { -1, 0x28220000, 1 },
+    { (unsigned) -1, 0x28220000, 1 },
 
     { 0, 0, 0 }
   };
@@ -165,7 +165,7 @@ static const struct ppc_insn_pattern ppc64_standard_linkage2[] =
 static const struct ppc_insn_pattern ppc64_standard_linkage3[] =
   {
     /* std r2, 40(r1) <optional> */
-    { -1, insn_ds (62, 2, 1, 40, 0), 1 },
+    { (unsigned) -1, insn_ds (62, 2, 1, 40, 0), 1 },
 
     /* ld r11, <any>(r2) */
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 2, 0, 0), 0 },
@@ -177,10 +177,10 @@ static const struct ppc_insn_pattern ppc64_standard_linkage3[] =
     { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 11, 9, 467), 0 },
 
     /* xor r11, r11, r11 <optional> */
-    { -1, 0x7d6b5a78, 1 },
+    { (unsigned) -1, 0x7d6b5a78, 1 },
 
     /* add r2, r2, r11 <optional> */
-    { -1, 0x7c425a14, 1 },
+    { (unsigned) -1, 0x7c425a14, 1 },
 
     /* ld r11, <any>(r2) <optional> */
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 2, 0, 0), 1 },
@@ -189,10 +189,10 @@ static const struct ppc_insn_pattern ppc64_standard_linkage3[] =
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 2, 2, 0, 0), 0 },
 
     /* bctr <optional> */
-    { -1, 0x4e800420, 1 },
+    { (unsigned) -1, 0x4e800420, 1 },
 
     /* cmpldi r2, 0 <optional> */
-    { -1, 0x28220000, 1 },
+    { (unsigned) -1, 0x28220000, 1 },
 
     { 0, 0, 0 }
   };
@@ -204,7 +204,7 @@ static const struct ppc_insn_pattern ppc64_standard_linkage3[] =
 static const struct ppc_insn_pattern ppc64_standard_linkage4[] =
   {
     /* std r2, 40(r1) <optional> */
-    { -1, insn_ds (62, 2, 1, 40, 0), 1 },
+    { (unsigned) -1, insn_ds (62, 2, 1, 40, 0), 1 },
 
     /* addis r11, r2, <any> */
     { insn_d (-1, -1, -1, 0), insn_d (15, 11, 2, 0), 0 },
@@ -219,10 +219,10 @@ static const struct ppc_insn_pattern ppc64_standard_linkage4[] =
     { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 12, 9, 467), 0 },
 
     /* xor r2, r12, r12 <optional> */
-    { -1, 0x7d826278, 1 },
+    { (unsigned) -1, 0x7d826278, 1 },
 
     /* add r11, r11, r2 <optional> */
-    { -1, 0x7d6b1214, 1 },
+    { (unsigned) -1, 0x7d6b1214, 1 },
 
     /* ld r2, <any>(r11) */
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 2, 11, 0, 0), 0 },
@@ -231,10 +231,10 @@ static const struct ppc_insn_pattern ppc64_standard_linkage4[] =
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 11, 0, 0), 1 },
 
     /* bctr <optional> */
-    { -1, 0x4e800420, 1 },
+    { (unsigned) -1, 0x4e800420, 1 },
 
     /* cmpldi r2, 0 <optional> */
-    { -1, 0x28220000, 1 },
+    { (unsigned) -1, 0x28220000, 1 },
 
     { 0, 0, 0 }
   };
@@ -246,7 +246,7 @@ static const struct ppc_insn_pattern ppc64_standard_linkage4[] =
 static const struct ppc_insn_pattern ppc64_standard_linkage5[] =
   {
     /* std r2, 40(r1) <optional> */
-    { -1, insn_ds (62, 2, 1, 40, 0), 1 },
+    { (unsigned) -1, insn_ds (62, 2, 1, 40, 0), 1 },
 
     /* ld r12, <any>(r2) */
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 12, 2, 0, 0), 0 },
@@ -258,10 +258,10 @@ static const struct ppc_insn_pattern ppc64_standard_linkage5[] =
     { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 12, 9, 467), 0 },
 
     /* xor r11, r12, r12 <optional> */
-    { -1, 0x7d8b6278, 1 },
+    { (unsigned) -1, 0x7d8b6278, 1 },
 
     /* add r2, r2, r11 <optional> */
-    { -1, 0x7c425a14, 1 },
+    { (unsigned) -1, 0x7c425a14, 1 },
 
     /* ld r11, <any>(r2) <optional> */
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 11, 2, 0, 0), 1 },
@@ -270,10 +270,10 @@ static const struct ppc_insn_pattern ppc64_standard_linkage5[] =
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 2, 2, 0, 0), 0 },
 
     /* bctr <optional> */
-    { -1, 0x4e800420, 1 },
+    { (unsigned) -1, 0x4e800420, 1 },
 
     /* cmpldi r2, 0 <optional> */
-    { -1, 0x28220000, 1 },
+    { (unsigned) -1, 0x28220000, 1 },
 
     { 0, 0, 0 }
   };
@@ -283,7 +283,7 @@ static const struct ppc_insn_pattern ppc64_standard_linkage5[] =
 static const struct ppc_insn_pattern ppc64_standard_linkage6[] =
   {
     /* std r2, 24(r1) <optional> */
-    { -1, insn_ds (62, 2, 1, 24, 0), 1 },
+    { (unsigned) -1, insn_ds (62, 2, 1, 24, 0), 1 },
 
     /* addis r11, r2, <any> */
     { insn_d (-1, -1, -1, 0), insn_d (15, 11, 2, 0), 0 },
@@ -295,7 +295,7 @@ static const struct ppc_insn_pattern ppc64_standard_linkage6[] =
     { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 12, 9, 467), 0 },
 
     /* bctr */
-    { -1, 0x4e800420, 0 },
+    { (unsigned) -1, 0x4e800420, 0 },
 
     { 0, 0, 0 }
   };
@@ -305,7 +305,7 @@ static const struct ppc_insn_pattern ppc64_standard_linkage6[] =
 static const struct ppc_insn_pattern ppc64_standard_linkage7[] =
   {
     /* std r2, 24(r1) <optional> */
-    { -1, insn_ds (62, 2, 1, 24, 0), 1 },
+    { (unsigned) -1, insn_ds (62, 2, 1, 24, 0), 1 },
 
     /* ld r12, <any>(r2) */
     { insn_ds (-1, -1, -1, 0, -1), insn_ds (58, 12, 2, 0, 0), 0 },
@@ -314,7 +314,7 @@ static const struct ppc_insn_pattern ppc64_standard_linkage7[] =
     { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 12, 9, 467), 0 },
 
     /* bctr */
-    { -1, 0x4e800420, 0 },
+    { (unsigned) -1, 0x4e800420, 0 },
 
     { 0, 0, 0 }
   };
@@ -325,7 +325,7 @@ static const struct ppc_insn_pattern ppc64_standard_linkage7[] =
 static const struct ppc_insn_pattern ppc64_standard_linkage8[] =
   {
     /* std r2, 24(r1) <optional> */
-    { -1, insn_ds (62, 2, 1, 24, 0), 1 },
+    { (unsigned) -1, insn_ds (62, 2, 1, 24, 0), 1 },
 
     /* addis r12, r2, <any> */
     { insn_d (-1, -1, -1, 0), insn_d (15, 12, 2, 0), 0 },
@@ -337,7 +337,7 @@ static const struct ppc_insn_pattern ppc64_standard_linkage8[] =
     { insn_xfx (-1, -1, -1, -1), insn_xfx (31, 12, 9, 467), 0 },
 
     /* bctr */
-    { -1, 0x4e800420, 0 },
+    { (unsigned) -1, 0x4e800420, 0 },
 
     { 0, 0, 0 }
   };
-- 
2.13.6


  parent reply	other threads:[~2018-08-08 23:20 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-08 23:20 [PATCH 0/7] Remove -Wno-narrowing Tom Tromey
2018-08-08 23:20 ` [PATCH 6/7] Avoid -Wnarrowing warnings in gdbserver Tom Tromey
2018-08-08 23:20 ` Tom Tromey [this message]
2018-08-08 23:20 ` [PATCH 2/7] Use CORE_ADDR_MAX in various "breaks" arrays Tom Tromey
2018-08-09 18:08   ` Pedro Alves
2018-08-08 23:20 ` [PATCH 4/7] Fix two -Wnarrowing warnings in xtensa-tdep.h Tom Tromey
2018-08-09 18:09   ` Pedro Alves
2018-08-08 23:20 ` [PATCH 7/7] Remove -Wno-narrowing from warnings.m4 Tom Tromey
2018-08-09 18:10   ` Pedro Alves
2018-08-27 17:46     ` Tom Tromey
2018-08-27 18:00       ` Tom Tromey
2018-08-08 23:20 ` [PATCH 3/7] Avoid -Wnarrowing warnings in struct tramp_frame instances Tom Tromey
2018-08-09 18:08   ` Pedro Alves
2018-08-09 18:17     ` Tom Tromey
2018-08-08 23:20 ` [PATCH 1/7] Change completion_tracker to use char type Tom Tromey
2018-08-09 17:38   ` Pedro Alves
2018-08-09 18:42     ` Tom Tromey
2018-08-09 18:50       ` Pedro Alves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180808232016.12777-6-tom@tromey.com \
    --to=tom@tromey.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox