aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-crx.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2010-06-28 14:06:57 +0000
committerAlan Modra <amodra@gmail.com>2010-06-28 14:06:57 +0000
commit87975d2a60adf249212c1c031abb4dd0dbb800ac (patch)
tree2722bdca23be6f36fabde10b3e20fddfecc763b1 /gas/config/tc-crx.c
parent8e56076649ea3bc861ad1f5ddad9fd931293af10 (diff)
downloadgdb-87975d2a60adf249212c1c031abb4dd0dbb800ac.zip
gdb-87975d2a60adf249212c1c031abb4dd0dbb800ac.tar.gz
gdb-87975d2a60adf249212c1c031abb4dd0dbb800ac.tar.bz2
* config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define.
* config/tc-crx.c (gettrap): Constify arg. (handle_LoadStor, get_cinv_parameters): Likewise. (getreg_image): Fix enum warning (md_assemble): Restore input line char. * config/tc-hppa.c (tc_gen_reloc): Fix enum warning. * config/tc-i960.c (mem_fmt): Rename var to fix shadow warning. * config/tc-sh.c (sh_fdpic): Only define when OBJ_ELF. (build_Mytes): Fix build failure for non-elf targets. * config/tc-tic4x.c (tic4x_eval): Restore terminator char. * config/tc-xtensa.c (xtensa_end_directive): Fix switch enum warning. * cgen.c (gas_cgen_md_apply_fix): Avoid set but unused warning. * ecoff.c (add_ecoff_symbol): Likewise. * itbl-ops.c (append_insns_as_macros): Likewise. * listing.c (debugging_pseudo): Likewise. * read.c (s_mri_common, stringer): Likewise. * config/obj-coff.c (coff_frob_section): Likewise. * config/tc-alpha.c (emit_ldgp, s_alpha_proc): Likewise. * config/tc-arm.c (my_get_expression): Likewise. * config/tc-hppa.c (process_exit, pa_type_args): Likewise. * config/tc-m32c.c (md_assemble): Likewise. * config/tc-microblaze.c (md_convert_frag): Likewise. * config/tc-mips.c (s_change_section): Likewise. * config/tc-mt.c (mt_fix_adjustable): Likewise. * config/tc-xtensa.c (xtensa_literal_pseudo): Likewise. * config/obj-aout.c (obj_aout_frob_symbol): Delete set but otherwise unused vars. * config/tc-alpha.c (load_expression): Likewise. (s_alpha_rdata, s_alpha_section, s_alpha_prologue): Likewise. * config/tc-arm.c (parse_neon_el_struct_list): Likewise. * config/tc-avr.c (extract_word): Likewise. * config/tc-cris.c (cris_get_expression): Likewise. * config/tc-d30v.c (build_insn, find_format): Likewise. * config/tc-dlx.c (machine_ip): Likewise. * config/tc-hppa.c (pa_get_absolute_expression): Likewise. * config/tc-i370.c (md_assemble): Likewise. * config/tc-i960.c (brtab_emit): Likewise. * config/tc-iq2000.c (s_iq2000_ent): Likewise. * config/tc-m32c.c (md_convert_frag): Likewise. * config/tc-m68hc11.c (fixup24, build_jump_insn): Likewise. (md_estimate_size_before_relax, md_apply_fix): Likewise. * config/tc-m68k.c (md_show_usage): Likewise. * config/tc-microblaze.c (microblaze_s_lcomm): Likewise. * config/tc-mips.c (s_mips_end): Likewise. * config/tc-mmix.c (mmix_byte, mmix_cons): Likewise. * config/tc-mn10300.c (md_assemble): Likewise. * config/tc-msp430.c (extract_word): Likewise. * config/tc-mt.c (md_assemble): Likewise. * config/tc-or32.c (machine_ip): Likewise. * config/tc-pj.c (md_apply_fix): Likewise. * config/tc-s390.c (md_gather_operands): Likewise. * config/tc-sh.c (sh_cons_align): Likewise. * config/tc-sparc.c (sparc_cons_align): Likewise. * config/tc-tic4x.c (tic4x_sect): Likewise. * config/tc-tic54x.c (tic54x_stringer): Likewise. * config/tc-vax.c (vip_op): Likewise. * config/tc-xstormy16.c (xstormy16_cons_fix_new): Likewise. * config/tc-xtensa.c (md_assemble): Likewise. (xtensa_fix_short_loop_frags, convert_frag_immed): Likewise. (xtensa_move_literals): Likewise.
Diffstat (limited to 'gas/config/tc-crx.c')
-rw-r--r--gas/config/tc-crx.c26
1 files changed, 16 insertions, 10 deletions
diff --git a/gas/config/tc-crx.c b/gas/config/tc-crx.c
index fd93f41..b347d8b 100644
--- a/gas/config/tc-crx.c
+++ b/gas/config/tc-crx.c
@@ -1,5 +1,6 @@
/* tc-crx.c -- Assembler code for the CRX CPU core.
- Copyright 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010
+ Free Software Foundation, Inc.
Contributed by Tomer Levi, NSC, Israel.
Originally written for GAS 2.12 by Tomer Levi, NSC, Israel.
@@ -147,9 +148,9 @@ static int get_opbits (operand_type);
static int get_opflags (operand_type);
static int get_number_of_operands (void);
static void parse_operand (char *, ins *);
-static int gettrap (char *);
-static void handle_LoadStor (char *);
-static int get_cinv_parameters (char *);
+static int gettrap (const char *);
+static void handle_LoadStor (const char *);
+static int get_cinv_parameters (const char *);
static long getconstant (long, int);
static op_err check_range (long *, int, unsigned int, int);
static int getreg_image (reg);
@@ -986,7 +987,7 @@ parse_operands (ins * crx_ins, char *operands)
This routine is used by assembling the 'excp' instruction. */
static int
-gettrap (char *s)
+gettrap (const char *s)
{
const trap_entry *trap;
@@ -1006,7 +1007,7 @@ gettrap (char *s)
Otherwise, the insn will be mistakenly identified as of type LD_STOR_INS. */
static void
-handle_LoadStor (char *operands)
+handle_LoadStor (const char *operands)
{
/* Post-Increment instructions precede Store-Immediate instructions in
CRX instruction table, hence they are handled before.
@@ -1071,9 +1072,9 @@ parse_insn (ins *insn, char *operands)
/* Cinv instruction requires special handling. */
static int
-get_cinv_parameters (char * operand)
+get_cinv_parameters (const char *operand)
{
- char *p = operand;
+ const char *p = operand;
int d_used = 0, i_used = 0, u_used = 0, b_used = 0;
while (*++p != ']')
@@ -1118,7 +1119,7 @@ getreg_image (reg r)
if (r < MAX_REG)
rreg = &crx_regtab[r];
/* Check whether the register is in coprocessor registers table. */
- else if (r < MAX_COPREG)
+ else if (r < (int) MAX_COPREG)
rreg = &crx_copregtab[r-MAX_REG];
/* Register not found. */
else
@@ -1986,6 +1987,7 @@ md_assemble (char *op)
if (instruction == NULL)
{
as_bad (_("Unknown opcode: `%s'"), op);
+ param[-1] = c;
return;
}
@@ -1997,8 +1999,12 @@ md_assemble (char *op)
/* Assemble the instruction - return upon failure. */
if (assemble_insn (op, &crx_ins) == 0)
- return;
+ {
+ param[-1] = c;
+ return;
+ }
/* Print the instruction. */
+ param[-1] = c;
print_insn (&crx_ins);
}