diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 32 | ||||
-rw-r--r-- | gas/config/tc-w65.c | 118 | ||||
-rw-r--r-- | gas/config/tc-w65.h | 6 | ||||
-rw-r--r-- | gas/po/POTFILES.in | 1 |
4 files changed, 64 insertions, 93 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index d1694f3..d8ddb69 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,37 @@ 2002-12-03 Alan Modra <amodra@bigpond.net.au> + * config/tc-w65.c (s_longa): Prototype. Make static, specify int arg. + (cons, s_align_bytes): Delete declaration. + (relax): Delete. + (md_begin): Constify "struct opinfo *" var. Don't try to make "name" + strings common. + (dot): Delete unused function. + (w65_expression): Remove unused arg. + (parse_exp): Prototype. Remove unused arg. Adjust w65_expression + call. + (get_operands): Prototype. Constify "struct opinfo *" arg. Fix + parse_exp call. + (get_specific): Prototype. Constify "struct opinfo *" arg and return + value. + (check): Remove unused function. + (build_Mytes): Prototype. Constify "struct opinfo *" arg. Abort + on unhandled switch case. + (md_assemble): Remove unused op_start, op_end, nlen, p vars. Constify + "opcode". + (tc_crawl_symbol_chain): Delete unused function. + (tc_headers_hook): Likewise. + (tc_Nout_fix_to_chars): Likewise. + (md_undefined_symbol): Add ATTRIBUTE_UNUSED. + (md_parse_option): Likewise. + (md_convert_frag): Likewise. + (tc_coff_symbol_emit_hook): Likewise. + (md_show_usage): Likewise. + * config/tc-w65.h (tc_coff_sizemachdep): Declare. + (TC_PARSE_CONS_EXPRESSION): w65_expression takes one arg. + (w65_expression): Declare. + + * po/POTFILES.in: Regenerate. + * config/tc-arm.c (arm_force_relocation): Return 0 for ARM_IMMEDIATE and ARM_ADRL_IMMEDIATE. diff --git a/gas/config/tc-w65.c b/gas/config/tc-w65.c index 9ab85e8..82f39f8 100644 --- a/gas/config/tc-w65.c +++ b/gas/config/tc-w65.c @@ -49,7 +49,12 @@ const char line_comment_chars[] = "!#"; #define OP_BVC 0x50 #define OP_BVS 0x70 -void s_longa (); +static void s_longa PARAMS ((int)); +static char *parse_exp PARAMS ((char *)); +static char *get_operands PARAMS ((const struct opinfo *, char *)); +static const struct opinfo *get_specific PARAMS ((const struct opinfo *)); +static void build_Mytes PARAMS ((const struct opinfo *)); + const pseudo_typeS md_pseudo_table[] = { {"int", cons, 2}, @@ -59,15 +64,10 @@ const pseudo_typeS md_pseudo_table[] = { {0, 0, 0} }; -void cons (); -void s_align_bytes (); - #if 0 int md_reloc_size; #endif -static int relax; /* set if -relax seen */ - const char EXP_CHARS[] = "eE"; /* Chars that mean this number is a floating point constant. */ @@ -124,8 +124,9 @@ relax_typeS md_relax_table[C (END, 0)] = { should set up all the tables, etc that the MD part of the assembler needs. */ -void +static void s_longa (xmode) + int xmode; { int *p = xmode ? &X : &M; while (*input_line_pointer == ' ') @@ -148,7 +149,7 @@ s_longa (xmode) void md_begin () { - struct opinfo *opcode; + const struct opinfo *opcode; char *prev_name = ""; opcode_hash_control = hash_new (); @@ -161,12 +162,6 @@ md_begin () prev_name = opcode->name; hash_insert (opcode_hash_control, opcode->name, (char *) opcode); } - else - { - /* Make all the opcodes with the same name point to the same - string. */ - opcode->name = prev_name; - } } flag_signed_overflow_ok = 1; @@ -174,30 +169,13 @@ md_begin () static expressionS immediate; /* absolute expression */ static expressionS immediate1; /* absolute expression */ - -static symbolS * -dot () -{ - const char *fake; - - /* JF: '.' is pseudo symbol with value of current location - in current segment. */ - fake = FAKE_LABEL_NAME; - return symbol_new (fake, - now_seg, - (valueT) frag_now_fix (), - frag_now); - -} - int expr_size; int expr_shift; int tc_cons_reloc; void -w65_expression (dest, bytes) +w65_expression (dest) expressionS *dest; - unsigned int bytes; { expr_size = 0; expr_shift = 0; @@ -227,16 +205,15 @@ w65_expression (dest, bytes) int amode; static char * -parse_exp (s, bytes) +parse_exp (s) char *s; - int bytes; { char *save; char *new; save = input_line_pointer; input_line_pointer = s; - w65_expression (&immediate, bytes); + w65_expression (&immediate); if (immediate.X_op == O_absent) as_bad (_("missing operand")); new = input_line_pointer; @@ -246,7 +223,7 @@ parse_exp (s, bytes) static char * get_operands (info, ptr) - struct opinfo *info; + const struct opinfo *info; char *ptr; { register int override_len = 0; @@ -474,7 +451,7 @@ get_operands (info, ptr) } else { - ptr = parse_exp (ptr, 2); + ptr = parse_exp (ptr); if (ptr[0] == ',') { if (ptr[1] == 'y') @@ -591,9 +568,9 @@ get_operands (info, ptr) addressing modes, return the opcode which matches the opcodes provided. */ -static struct opinfo * +static const struct opinfo * get_specific (opcode) - struct opinfo *opcode; + const struct opinfo *opcode; { int ocode = opcode->code; @@ -605,28 +582,11 @@ get_specific (opcode) return 0; } -int -check (operand, low, high) - expressionS *operand; - int low; - int high; -{ - if (operand->X_op != O_constant - || operand->X_add_number < low - || operand->X_add_number > high) - { - as_bad ("operand must be absolute in range %d..%d", low, high); - } - return operand->X_add_number; -} - -static int log2[] = { 0, 0, 1, 0, 2 }; - /* Now we know what sort of opcodes it is, let's build the bytes. */ static void build_Mytes (opcode) - struct opinfo *opcode; + const struct opinfo *opcode; { int size; int type; @@ -656,6 +616,8 @@ build_Mytes (opcode) switch (opcode->amode) { GETINFO (size, type, pcrel); + default: + abort (); } /* If something special was done in the expression modify the @@ -707,12 +669,8 @@ void md_assemble (str) char *str; { - unsigned char *op_start; - unsigned char *op_end; - struct opinfo *opcode; + const struct opinfo *opcode; char name[20]; - int nlen = 0; - char *p; /* Drop leading whitespace */ while (*str == ' ') @@ -756,27 +714,13 @@ md_assemble (str) build_Mytes (opcode); } -void -tc_crawl_symbol_chain (headers) - object_headers *headers; -{ - printf (_("call to tc_crawl_symbol_chain \n")); -} - symbolS * md_undefined_symbol (name) - char *name; + char *name ATTRIBUTE_UNUSED; { return 0; } -void -tc_headers_hook (headers) - object_headers *headers; -{ - printf (_("call to tc_headers_hook \n")); -} - /* Various routines to kill one day. */ /* Equal to MAX_PRECISION in atof-ieee.c. */ #define MAX_LITTLENUMS 6 @@ -796,7 +740,6 @@ md_atof (type, litP, sizeP) LITTLENUM_TYPE words[MAX_LITTLENUMS]; LITTLENUM_TYPE *wordP; char *t; - char *atof_ieee (); switch (type) { @@ -843,26 +786,19 @@ md_atof (type, litP, sizeP) int md_parse_option (c, a) - int c; - char *a; + int c ATTRIBUTE_UNUSED; + char *a ATTRIBUTE_UNUSED; { return 0; } -void -tc_Nout_fix_to_chars () -{ - printf (_("call to tc_Nout_fix_to_chars \n")); - abort (); -} - /* Called after relaxing, change the frags so they know how big they are. */ void md_convert_frag (headers, seg, fragP) - object_headers *headers; - segT seg; + object_headers *headers ATTRIBUTE_UNUSED; + segT seg ATTRIBUTE_UNUSED; fragS *fragP; { int disp_size = 0; @@ -1058,7 +994,7 @@ md_pcrel_from (fixP) void tc_coff_symbol_emit_hook (x) - symbolS *x; + symbolS *x ATTRIBUTE_UNUSED; { } @@ -1194,7 +1130,7 @@ struct option md_longopts[] = { void md_show_usage (stream) - FILE *stream; + FILE *stream ATTRIBUTE_UNUSED; { } diff --git a/gas/config/tc-w65.h b/gas/config/tc-w65.h index a028728..a2cc9a8 100644 --- a/gas/config/tc-w65.h +++ b/gas/config/tc-w65.h @@ -47,7 +47,11 @@ extern void tc_reloc_mangle #define RELOC_32 1234 #define TC_COFF_SIZEMACHDEP(frag) tc_coff_sizemachdep (frag) -#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) w65_expression (EXP, NBYTES) +int tc_coff_sizemachdep PARAMS ((fragS *)); + +#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) w65_expression (EXP) +void w65_expression PARAMS ((expressionS *)); + #define TC_COUNT_RELOC(x) (1) #define TC_CONS_RELOC tc_cons_reloc #define DONT_OVERFLOW diff --git a/gas/po/POTFILES.in b/gas/po/POTFILES.in index ee23719..449fb3a 100644 --- a/gas/po/POTFILES.in +++ b/gas/po/POTFILES.in @@ -161,7 +161,6 @@ flonum.h frags.c frags.c frags.h -gasp.c hash.c hash.c hash.h |