From 8406672eca8d008dc0324198ec2f653a16fb9d21 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 7 Aug 2018 13:13:58 -0600 Subject: [PATCH] Avoid -Wnarrowing warnings in ppc64-tdep.c This avoids -Wnarrowing warnings in ppc64-tdep.c, by adding a few casts to unsigned. gdb/ChangeLog 2018-08-27 Tom Tromey * 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/ChangeLog b/gdb/ChangeLog index 0b93707cf5b..460e8cd47ff 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,13 @@ +2018-08-27 Tom Tromey + + * 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. + 2018-08-27 Tom Tromey * xtensa-tdep.h (XTREG_END): Add cast to unsigned. diff --git a/gdb/ppc64-tdep.c b/gdb/ppc64-tdep.c index 5d8ccb48d45..4b8dd3fe3fb 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, (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) */ - { -1, insn_ds (62, 2, 1, 40, 0), 1 }, + { (unsigned) -1, insn_ds (62, 2, 1, 40, 0), 1 }, /* addis r12, r2, */ { 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), 1 }, + { (unsigned) -1, insn_ds (62, 2, 1, 40, 0), 1 }, /* ld r11, (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 */ - { -1, 0x7d6b5a78, 1 }, + { (unsigned) -1, 0x7d6b5a78, 1 }, /* add r12, r12, r11 */ - { -1, 0x7d8c5a14, 1 }, + { (unsigned) -1, 0x7d8c5a14, 1 }, /* ld r2, (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 */ - { -1, 0x4e800420, 1 }, + { (unsigned) -1, 0x4e800420, 1 }, /* cmpldi r2, 0 */ - { -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) */ - { -1, insn_ds (62, 2, 1, 40, 0), 1 }, + { (unsigned) -1, insn_ds (62, 2, 1, 40, 0), 1 }, /* ld r11, (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 */ - { -1, 0x7d6b5a78, 1 }, + { (unsigned) -1, 0x7d6b5a78, 1 }, /* add r2, r2, r11 */ - { -1, 0x7c425a14, 1 }, + { (unsigned) -1, 0x7c425a14, 1 }, /* ld r11, (r2) */ { 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 */ - { -1, 0x4e800420, 1 }, + { (unsigned) -1, 0x4e800420, 1 }, /* cmpldi r2, 0 */ - { -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) */ - { -1, insn_ds (62, 2, 1, 40, 0), 1 }, + { (unsigned) -1, insn_ds (62, 2, 1, 40, 0), 1 }, /* addis r11, r2, */ { 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 */ - { -1, 0x7d826278, 1 }, + { (unsigned) -1, 0x7d826278, 1 }, /* add r11, r11, r2 */ - { -1, 0x7d6b1214, 1 }, + { (unsigned) -1, 0x7d6b1214, 1 }, /* ld r2, (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 */ - { -1, 0x4e800420, 1 }, + { (unsigned) -1, 0x4e800420, 1 }, /* cmpldi r2, 0 */ - { -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) */ - { -1, insn_ds (62, 2, 1, 40, 0), 1 }, + { (unsigned) -1, insn_ds (62, 2, 1, 40, 0), 1 }, /* ld r12, (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 */ - { -1, 0x7d8b6278, 1 }, + { (unsigned) -1, 0x7d8b6278, 1 }, /* add r2, r2, r11 */ - { -1, 0x7c425a14, 1 }, + { (unsigned) -1, 0x7c425a14, 1 }, /* ld r11, (r2) */ { 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 */ - { -1, 0x4e800420, 1 }, + { (unsigned) -1, 0x4e800420, 1 }, /* cmpldi r2, 0 */ - { -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) */ - { -1, insn_ds (62, 2, 1, 24, 0), 1 }, + { (unsigned) -1, insn_ds (62, 2, 1, 24, 0), 1 }, /* addis r11, r2, */ { 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) */ - { -1, insn_ds (62, 2, 1, 24, 0), 1 }, + { (unsigned) -1, insn_ds (62, 2, 1, 24, 0), 1 }, /* ld r12, (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) */ - { -1, insn_ds (62, 2, 1, 24, 0), 1 }, + { (unsigned) -1, insn_ds (62, 2, 1, 24, 0), 1 }, /* addis r12, r2, */ { 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.30.2