aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog32
-rw-r--r--gas/config/tc-w65.c118
-rw-r--r--gas/config/tc-w65.h6
-rw-r--r--gas/po/POTFILES.in1
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