* 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.
This commit is contained in:
Alan Modra 2002-12-03 12:01:45 +00:00
parent dc8ec78b76
commit 6297c1fede
4 changed files with 64 additions and 93 deletions

View file

@ -1,5 +1,37 @@
2002-12-03 Alan Modra <amodra@bigpond.net.au> 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 * config/tc-arm.c (arm_force_relocation): Return 0 for ARM_IMMEDIATE
and ARM_ADRL_IMMEDIATE. and ARM_ADRL_IMMEDIATE.

View file

@ -49,7 +49,12 @@ const char line_comment_chars[] = "!#";
#define OP_BVC 0x50 #define OP_BVC 0x50
#define OP_BVS 0x70 #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[] = { const pseudo_typeS md_pseudo_table[] = {
{"int", cons, 2}, {"int", cons, 2},
@ -59,15 +64,10 @@ const pseudo_typeS md_pseudo_table[] = {
{0, 0, 0} {0, 0, 0}
}; };
void cons ();
void s_align_bytes ();
#if 0 #if 0
int md_reloc_size; int md_reloc_size;
#endif #endif
static int relax; /* set if -relax seen */
const char EXP_CHARS[] = "eE"; const char EXP_CHARS[] = "eE";
/* Chars that mean this number is a floating point constant. */ /* 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 should set up all the tables, etc that the MD part of the assembler
needs. */ needs. */
void static void
s_longa (xmode) s_longa (xmode)
int xmode;
{ {
int *p = xmode ? &X : &M; int *p = xmode ? &X : &M;
while (*input_line_pointer == ' ') while (*input_line_pointer == ' ')
@ -148,7 +149,7 @@ s_longa (xmode)
void void
md_begin () md_begin ()
{ {
struct opinfo *opcode; const struct opinfo *opcode;
char *prev_name = ""; char *prev_name = "";
opcode_hash_control = hash_new (); opcode_hash_control = hash_new ();
@ -161,12 +162,6 @@ md_begin ()
prev_name = opcode->name; prev_name = opcode->name;
hash_insert (opcode_hash_control, opcode->name, (char *) opcode); 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; flag_signed_overflow_ok = 1;
@ -174,30 +169,13 @@ md_begin ()
static expressionS immediate; /* absolute expression */ static expressionS immediate; /* absolute expression */
static expressionS immediate1; /* 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_size;
int expr_shift; int expr_shift;
int tc_cons_reloc; int tc_cons_reloc;
void void
w65_expression (dest, bytes) w65_expression (dest)
expressionS *dest; expressionS *dest;
unsigned int bytes;
{ {
expr_size = 0; expr_size = 0;
expr_shift = 0; expr_shift = 0;
@ -227,16 +205,15 @@ w65_expression (dest, bytes)
int amode; int amode;
static char * static char *
parse_exp (s, bytes) parse_exp (s)
char *s; char *s;
int bytes;
{ {
char *save; char *save;
char *new; char *new;
save = input_line_pointer; save = input_line_pointer;
input_line_pointer = s; input_line_pointer = s;
w65_expression (&immediate, bytes); w65_expression (&immediate);
if (immediate.X_op == O_absent) if (immediate.X_op == O_absent)
as_bad (_("missing operand")); as_bad (_("missing operand"));
new = input_line_pointer; new = input_line_pointer;
@ -246,7 +223,7 @@ parse_exp (s, bytes)
static char * static char *
get_operands (info, ptr) get_operands (info, ptr)
struct opinfo *info; const struct opinfo *info;
char *ptr; char *ptr;
{ {
register int override_len = 0; register int override_len = 0;
@ -474,7 +451,7 @@ get_operands (info, ptr)
} }
else else
{ {
ptr = parse_exp (ptr, 2); ptr = parse_exp (ptr);
if (ptr[0] == ',') if (ptr[0] == ',')
{ {
if (ptr[1] == 'y') if (ptr[1] == 'y')
@ -591,9 +568,9 @@ get_operands (info, ptr)
addressing modes, return the opcode which matches the opcodes addressing modes, return the opcode which matches the opcodes
provided. */ provided. */
static struct opinfo * static const struct opinfo *
get_specific (opcode) get_specific (opcode)
struct opinfo *opcode; const struct opinfo *opcode;
{ {
int ocode = opcode->code; int ocode = opcode->code;
@ -605,28 +582,11 @@ get_specific (opcode)
return 0; 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. */ /* Now we know what sort of opcodes it is, let's build the bytes. */
static void static void
build_Mytes (opcode) build_Mytes (opcode)
struct opinfo *opcode; const struct opinfo *opcode;
{ {
int size; int size;
int type; int type;
@ -656,6 +616,8 @@ build_Mytes (opcode)
switch (opcode->amode) switch (opcode->amode)
{ {
GETINFO (size, type, pcrel); GETINFO (size, type, pcrel);
default:
abort ();
} }
/* If something special was done in the expression modify the /* If something special was done in the expression modify the
@ -707,12 +669,8 @@ void
md_assemble (str) md_assemble (str)
char *str; char *str;
{ {
unsigned char *op_start; const struct opinfo *opcode;
unsigned char *op_end;
struct opinfo *opcode;
char name[20]; char name[20];
int nlen = 0;
char *p;
/* Drop leading whitespace */ /* Drop leading whitespace */
while (*str == ' ') while (*str == ' ')
@ -756,27 +714,13 @@ md_assemble (str)
build_Mytes (opcode); build_Mytes (opcode);
} }
void
tc_crawl_symbol_chain (headers)
object_headers *headers;
{
printf (_("call to tc_crawl_symbol_chain \n"));
}
symbolS * symbolS *
md_undefined_symbol (name) md_undefined_symbol (name)
char *name; char *name ATTRIBUTE_UNUSED;
{ {
return 0; return 0;
} }
void
tc_headers_hook (headers)
object_headers *headers;
{
printf (_("call to tc_headers_hook \n"));
}
/* Various routines to kill one day. */ /* Various routines to kill one day. */
/* Equal to MAX_PRECISION in atof-ieee.c. */ /* Equal to MAX_PRECISION in atof-ieee.c. */
#define MAX_LITTLENUMS 6 #define MAX_LITTLENUMS 6
@ -796,7 +740,6 @@ md_atof (type, litP, sizeP)
LITTLENUM_TYPE words[MAX_LITTLENUMS]; LITTLENUM_TYPE words[MAX_LITTLENUMS];
LITTLENUM_TYPE *wordP; LITTLENUM_TYPE *wordP;
char *t; char *t;
char *atof_ieee ();
switch (type) switch (type)
{ {
@ -843,26 +786,19 @@ md_atof (type, litP, sizeP)
int int
md_parse_option (c, a) md_parse_option (c, a)
int c; int c ATTRIBUTE_UNUSED;
char *a; char *a ATTRIBUTE_UNUSED;
{ {
return 0; 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 /* Called after relaxing, change the frags so they know how big they
are. */ are. */
void void
md_convert_frag (headers, seg, fragP) md_convert_frag (headers, seg, fragP)
object_headers *headers; object_headers *headers ATTRIBUTE_UNUSED;
segT seg; segT seg ATTRIBUTE_UNUSED;
fragS *fragP; fragS *fragP;
{ {
int disp_size = 0; int disp_size = 0;
@ -1058,7 +994,7 @@ md_pcrel_from (fixP)
void void
tc_coff_symbol_emit_hook (x) tc_coff_symbol_emit_hook (x)
symbolS *x; symbolS *x ATTRIBUTE_UNUSED;
{ {
} }
@ -1194,7 +1130,7 @@ struct option md_longopts[] = {
void void
md_show_usage (stream) md_show_usage (stream)
FILE *stream; FILE *stream ATTRIBUTE_UNUSED;
{ {
} }

View file

@ -47,7 +47,11 @@ extern void tc_reloc_mangle
#define RELOC_32 1234 #define RELOC_32 1234
#define TC_COFF_SIZEMACHDEP(frag) tc_coff_sizemachdep (frag) #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_COUNT_RELOC(x) (1)
#define TC_CONS_RELOC tc_cons_reloc #define TC_CONS_RELOC tc_cons_reloc
#define DONT_OVERFLOW #define DONT_OVERFLOW

View file

@ -161,7 +161,6 @@ flonum.h
frags.c frags.c
frags.c frags.c
frags.h frags.h
gasp.c
hash.c hash.c
hash.c hash.c
hash.h hash.h