aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-sh.c
diff options
context:
space:
mode:
authorTrevor Saunders <tbsaunde+binutils@tbsaunde.org>2016-05-28 22:31:07 -0400
committerTrevor Saunders <tbsaunde+binutils@tbsaunde.org>2016-06-05 23:27:41 -0400
commitc4212e111cdd46d3b7da8b60c5adf39b8654e3c6 (patch)
tree28a0450d38cf8f93ba98c135f9672b93705d283e /gas/config/tc-sh.c
parentb5966800eaa13f4b886f94fed01a7fdfac2b3965 (diff)
downloadfsf-binutils-gdb-c4212e111cdd46d3b7da8b60c5adf39b8654e3c6.zip
fsf-binutils-gdb-c4212e111cdd46d3b7da8b60c5adf39b8654e3c6.tar.gz
fsf-binutils-gdb-c4212e111cdd46d3b7da8b60c5adf39b8654e3c6.tar.bz2
sh{,64}: make arg type enum
The values are always members of the enum, except the two places -1 is assigned only to playcate -Wuninitialized because gcc isn't or at least didn't used to be smart enough to figure out its only used if it was set. gas/ChangeLog: 2016-06-05 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * config/tc-sh.c (parse_reg): Change type of mode argument to sh_arg_type. (get_operand): Adjust. (insert): Change type of how to bfd_reloc_code_real_type. (insert4): Likewise. * config/tc-sh64.c (shmedia_get_operand): Adjust. (shmedia_parse_reg): Change type of mode to shmedia_arg_type.
Diffstat (limited to 'gas/config/tc-sh.c')
-rw-r--r--gas/config/tc-sh.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c
index b15acf8..f65fbb2 100644
--- a/gas/config/tc-sh.c
+++ b/gas/config/tc-sh.c
@@ -987,7 +987,7 @@ static int reg_b;
/* Try to parse a reg name. Return the number of chars consumed. */
static unsigned int
-parse_reg_without_prefix (char *src, int *mode, int *reg)
+parse_reg_without_prefix (char *src, sh_arg_type *mode, int *reg)
{
char l0 = TOLOWER (src[0]);
char l1 = l0 ? TOLOWER (src[1]) : 0;
@@ -1346,7 +1346,7 @@ parse_reg_without_prefix (char *src, int *mode, int *reg)
$-prefixed register names if enabled by the user. */
static unsigned int
-parse_reg (char *src, int *mode, int *reg)
+parse_reg (char *src, sh_arg_type *mode, int *reg)
{
unsigned int prefix;
unsigned int consumed;
@@ -1411,7 +1411,7 @@ static char *
parse_at (char *src, sh_operand_info *op)
{
int len;
- int mode;
+ sh_arg_type mode;
src++;
if (src[0] == '@')
{
@@ -1583,7 +1583,7 @@ static void
get_operand (char **ptr, sh_operand_info *op)
{
char *src = *ptr;
- int mode = -1;
+ sh_arg_type mode = (sh_arg_type) -1;
unsigned int len;
if (src[0] == '#')
@@ -2235,7 +2235,8 @@ get_specific (sh_opcode_info *opcode, sh_operand_info *operands)
}
static void
-insert (char *where, int how, int pcrel, sh_operand_info *op)
+insert (char *where, bfd_reloc_code_real_type how, int pcrel,
+ sh_operand_info *op)
{
fix_new_exp (frag_now,
where - frag_now->fr_literal,
@@ -2246,7 +2247,8 @@ insert (char *where, int how, int pcrel, sh_operand_info *op)
}
static void
-insert4 (char * where, int how, int pcrel, sh_operand_info * op)
+insert4 (char * where, bfd_reloc_code_real_type how, int pcrel,
+ sh_operand_info * op)
{
fix_new_exp (frag_now,
where - frag_now->fr_literal,