aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-mmix.c188
-rw-r--r--gas/config/tc-mmix.h34
3 files changed, 86 insertions, 140 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 6e0c488..cb2713a 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,7 @@
+2005-03-25 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/tc-mmix.c, config/tc-mmix.h: Convert to ISO C90.
+
2005-03-25 Hans-Peter Nilsson <hp@axis.com>
* config/tc-cris.h: Convert to ISO C90.
diff --git a/gas/config/tc-mmix.c b/gas/config/tc-mmix.c
index 600f021..f4a95f1 100644
--- a/gas/config/tc-mmix.c
+++ b/gas/config/tc-mmix.c
@@ -47,27 +47,25 @@ enum mmix_fixup_action
mmix_fixup_register_or_adjust_for_byte
};
-static int get_spec_regno PARAMS ((char *));
-static int get_operands PARAMS ((int, char *, expressionS[]));
-static int get_putget_operands
- PARAMS ((struct mmix_opcode *, char *, expressionS[]));
-static void s_prefix PARAMS ((int));
-static void s_greg PARAMS ((int));
-static void s_loc PARAMS ((int));
-static void s_bspec PARAMS ((int));
-static void s_espec PARAMS ((int));
-static void mmix_s_local PARAMS ((int));
-static void mmix_greg_internal PARAMS ((char *));
-static void mmix_set_geta_branch_offset PARAMS ((char *, offsetT value));
-static void mmix_set_jmp_offset PARAMS ((char *, offsetT));
-static void mmix_fill_nops PARAMS ((char *, int));
-static int cmp_greg_symbol_fixes PARAMS ((const PTR, const PTR));
-static int cmp_greg_val_greg_symbol_fixes
- PARAMS ((const PTR p1, const PTR p2));
-static void mmix_handle_rest_of_empty_line PARAMS ((void));
-static void mmix_discard_rest_of_line PARAMS ((void));
-static void mmix_byte PARAMS ((void));
-static void mmix_cons PARAMS ((int));
+static int get_spec_regno (char *);
+static int get_operands (int, char *, expressionS *);
+static int get_putget_operands (struct mmix_opcode *, char *, expressionS *);
+static void s_prefix (int);
+static void s_greg (int);
+static void s_loc (int);
+static void s_bspec (int);
+static void s_espec (int);
+static void mmix_s_local (int);
+static void mmix_greg_internal (char *);
+static void mmix_set_geta_branch_offset (char *, offsetT);
+static void mmix_set_jmp_offset (char *, offsetT);
+static void mmix_fill_nops (char *, int);
+static int cmp_greg_symbol_fixes (const void *, const void *);
+static int cmp_greg_val_greg_symbol_fixes (const void *, const void *);
+static void mmix_handle_rest_of_empty_line (void);
+static void mmix_discard_rest_of_line (void);
+static void mmix_byte (void);
+static void mmix_cons (int);
/* Continue the tradition of symbols.c; use control characters to enforce
magic. These are used when replacing e.g. 8F and 8B so we can handle
@@ -399,9 +397,7 @@ const char mmix_flt_chars[] = "rf";
/* Fill in the offset-related part of GETA or Bcc. */
static void
-mmix_set_geta_branch_offset (opcodep, value)
- char *opcodep;
- offsetT value;
+mmix_set_geta_branch_offset (char *opcodep, offsetT value)
{
if (value < 0)
{
@@ -416,9 +412,7 @@ mmix_set_geta_branch_offset (opcodep, value)
/* Fill in the offset-related part of JMP. */
static void
-mmix_set_jmp_offset (opcodep, value)
- char *opcodep;
- offsetT value;
+mmix_set_jmp_offset (char *opcodep, offsetT value)
{
if (value < 0)
{
@@ -433,9 +427,7 @@ mmix_set_jmp_offset (opcodep, value)
/* Fill in NOP:s for the expanded part of GETA/JMP/Bcc/PUSHJ. */
static void
-mmix_fill_nops (opcodep, n)
- char *opcodep;
- int n;
+mmix_fill_nops (char *opcodep, int n)
{
int i;
@@ -446,9 +438,7 @@ mmix_fill_nops (opcodep, n)
/* See macro md_parse_name in tc-mmix.h. */
int
-mmix_current_location (fn, exp)
- void (*fn) PARAMS ((expressionS *));
- expressionS *exp;
+mmix_current_location (void (*fn) (expressionS *), expressionS *exp)
{
(*fn) (exp);
@@ -459,10 +449,7 @@ mmix_current_location (fn, exp)
General idea and code stolen from the tic80 port. */
static int
-get_operands (max_operands, s, exp)
- int max_operands;
- char *s;
- expressionS exp[];
+get_operands (int max_operands, char *s, expressionS *exp)
{
char *p = s;
int numexp = 0;
@@ -528,8 +515,7 @@ get_operands (max_operands, s, exp)
one. NAME is a null-terminated string. */
static int
-get_spec_regno (name)
- char *name;
+get_spec_regno (char *name)
{
int i;
@@ -551,10 +537,8 @@ get_spec_regno (name)
/* For GET and PUT, parse the register names "manually", so we don't use
user labels. */
static int
-get_putget_operands (insn, operands, exp)
- struct mmix_opcode *insn;
- char *operands;
- expressionS exp[];
+get_putget_operands (struct mmix_opcode *insn, char *operands,
+ expressionS *exp)
{
expressionS *expp_reg;
expressionS *expp_sreg;
@@ -648,9 +632,7 @@ get_putget_operands (insn, operands, exp)
/* Handle MMIX-specific option. */
int
-md_parse_option (c, arg)
- int c;
- char *arg ATTRIBUTE_UNUSED;
+md_parse_option (int c, char *arg ATTRIBUTE_UNUSED)
{
switch (c)
{
@@ -707,8 +689,7 @@ md_parse_option (c, arg)
/* Display MMIX-specific help text. */
void
-md_show_usage (stream)
- FILE * stream;
+md_show_usage (FILE * stream)
{
fprintf (stream, _(" MMIX-specific command line options:\n"));
fprintf (stream, _("\
@@ -741,7 +722,7 @@ md_show_usage (stream)
/* Step to end of line, but don't step over the end of the line. */
static void
-mmix_discard_rest_of_line ()
+mmix_discard_rest_of_line (void)
{
while (*input_line_pointer
&& (! is_end_of_line[(unsigned char) *input_line_pointer]
@@ -754,7 +735,7 @@ mmix_discard_rest_of_line ()
delimiter). */
static void
-mmix_handle_rest_of_empty_line ()
+mmix_handle_rest_of_empty_line (void)
{
if (mmix_gnu_syntax)
demand_empty_rest_of_line ();
@@ -768,7 +749,7 @@ mmix_handle_rest_of_empty_line ()
/* Initialize GAS MMIX specifics. */
void
-mmix_md_begin ()
+mmix_md_begin (void)
{
int i;
const struct mmix_opcode *opcode;
@@ -827,8 +808,7 @@ mmix_md_begin ()
/* Assemble one insn in STR. */
void
-md_assemble (str)
- char *str;
+md_assemble (char *str)
{
char *operands = str;
char modified_char = 0;
@@ -1909,8 +1889,7 @@ md_assemble (str)
tc_unrecognized_line too, through this function. */
int
-mmix_assemble_return_nonzero (str)
- char *str;
+mmix_assemble_return_nonzero (char *str)
{
int last_error_count = had_errors ();
char *s2 = str;
@@ -1939,8 +1918,7 @@ mmix_assemble_return_nonzero (str)
/* The PREFIX pseudo. */
static void
-s_prefix (unused)
- int unused ATTRIBUTE_UNUSED;
+s_prefix (int unused ATTRIBUTE_UNUSED)
{
char *p;
int c;
@@ -1982,8 +1960,7 @@ s_prefix (unused)
that. (It might be worth a rewrite for other reasons, though). */
char *
-mmix_prefix_name (shortname)
- char *shortname;
+mmix_prefix_name (char *shortname)
{
if (*shortname == ':')
return shortname + 1;
@@ -2007,8 +1984,7 @@ mmix_prefix_name (shortname)
be persistent, perhaps allocated on an obstack. */
static void
-mmix_greg_internal (label)
- char *label;
+mmix_greg_internal (char *label)
{
expressionS *expP = &mmix_raw_gregs[n_of_raw_gregs].exp;
@@ -2044,8 +2020,7 @@ mmix_greg_internal (label)
/* The ".greg label,expr" worker. */
static void
-s_greg (unused)
- int unused ATTRIBUTE_UNUSED;
+s_greg (int unused ATTRIBUTE_UNUSED)
{
char *p;
char c;
@@ -2074,8 +2049,7 @@ s_greg (unused)
/* The "BSPEC expr" worker. */
static void
-s_bspec (unused)
- int unused ATTRIBUTE_UNUSED;
+s_bspec (int unused ATTRIBUTE_UNUSED)
{
asection *expsec;
asection *sec;
@@ -2140,8 +2114,7 @@ s_bspec (unused)
/* The "ESPEC" worker. */
static void
-s_espec (unused)
- int unused ATTRIBUTE_UNUSED;
+s_espec (int unused ATTRIBUTE_UNUSED)
{
/* First, check that we *do* have a BSPEC in progress. */
if (! doing_bspec)
@@ -2164,8 +2137,7 @@ s_espec (unused)
Implementing this by means of contents in a section lost. */
static void
-mmix_s_local (unused)
- int unused ATTRIBUTE_UNUSED;
+mmix_s_local (int unused ATTRIBUTE_UNUSED)
{
expressionS exp;
@@ -2195,9 +2167,7 @@ mmix_s_local (unused)
function may be called multiple times. */
int
-md_estimate_size_before_relax (fragP, segment)
- fragS *fragP;
- segT segment;
+md_estimate_size_before_relax (fragS *fragP, segT segment)
{
int length;
@@ -2268,10 +2238,7 @@ md_estimate_size_before_relax (fragP, segment)
OK. */
char *
-md_atof (type, litP, sizeP)
- int type;
- char *litP;
- int *sizeP;
+md_atof (int type, char *litP, int *sizeP)
{
int prec;
LITTLENUM_TYPE words[4];
@@ -2314,10 +2281,8 @@ md_atof (type, litP, sizeP)
/* Convert variable-sized frags into one or more fixups. */
void
-md_convert_frag (abfd, sec, fragP)
- bfd *abfd ATTRIBUTE_UNUSED;
- segT sec ATTRIBUTE_UNUSED;
- fragS *fragP;
+md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT sec ATTRIBUTE_UNUSED,
+ fragS *fragP)
{
/* Pointer to first byte in variable-sized part of the frag. */
char *var_partp;
@@ -2448,10 +2413,7 @@ md_convert_frag (abfd, sec, fragP)
Note that this function isn't called when linkrelax != 0. */
void
-md_apply_fix3 (fixP, valP, segment)
- fixS * fixP;
- valueT * valP;
- segT segment;
+md_apply_fix3 (fixS *fixP, valueT *valP, segT segment)
{
char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
/* Note: use offsetT because it is signed, valueT is unsigned. */
@@ -2625,9 +2587,7 @@ md_apply_fix3 (fixP, valP, segment)
definitions. */
static int
-cmp_greg_val_greg_symbol_fixes (p1, p2)
- const PTR p1;
- const PTR p2;
+cmp_greg_val_greg_symbol_fixes (const void *p1, const void *p2)
{
offsetT val1 = *(offsetT *) p1;
offsetT val2 = ((struct mmix_symbol_greg_fixes *) p2)->offs;
@@ -2644,9 +2604,7 @@ cmp_greg_val_greg_symbol_fixes (p1, p2)
/* Generate a machine-dependent relocation. */
arelent *
-tc_gen_reloc (section, fixP)
- asection *section ATTRIBUTE_UNUSED;
- fixS *fixP;
+tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixP)
{
bfd_signed_vma val
= fixP->fx_offset
@@ -2940,7 +2898,7 @@ tc_gen_reloc (section, fixP)
ugly labels_without_colons etc. */
void
-mmix_handle_mmixal ()
+mmix_handle_mmixal (void)
{
char *s0 = input_line_pointer;
char *s;
@@ -3251,8 +3209,7 @@ mmix_handle_mmixal ()
We fill in the label as an expression. */
void
-mmix_fb_label (expP)
- expressionS *expP;
+mmix_fb_label (expressionS *expP)
{
symbolS *sym;
char *fb_internal_name;
@@ -3301,8 +3258,7 @@ mmix_fb_label (expP)
relaxing. */
int
-mmix_force_relocation (fixP)
- fixS *fixP;
+mmix_force_relocation (fixS *fixP)
{
if (fixP->fx_r_type == BFD_RELOC_MMIX_LOCAL
|| fixP->fx_r_type == BFD_RELOC_MMIX_BASE_PLUS_OFFSET)
@@ -3325,9 +3281,7 @@ mmix_force_relocation (fixP)
given a PC relative reloc. */
long
-md_pcrel_from_section (fixP, sec)
- fixS * fixP;
- segT sec;
+md_pcrel_from_section (fixS *fixP, segT sec)
{
if (fixP->fx_addsy != (symbolS *) NULL
&& (! S_IS_DEFINED (fixP->fx_addsy)
@@ -3345,7 +3299,7 @@ md_pcrel_from_section (fixP, sec)
register section. */
void
-mmix_adjust_symtab ()
+mmix_adjust_symtab (void)
{
symbolS *sym;
symbolS *regsec = section_symbol (reg_section);
@@ -3375,7 +3329,7 @@ mmix_adjust_symtab ()
thought at the time I first wrote this. */
int
-mmix_label_without_colon_this_line ()
+mmix_label_without_colon_this_line (void)
{
int retval = label_without_colon_this_line;
@@ -3391,10 +3345,7 @@ mmix_label_without_colon_this_line ()
join with. */
long
-mmix_md_relax_frag (seg, fragP, stretch)
- segT seg;
- fragS *fragP;
- long stretch;
+mmix_md_relax_frag (segT seg, fragS *fragP, long stretch)
{
switch (fragP->fr_subtype)
{
@@ -3520,7 +3471,7 @@ mmix_md_relax_frag (seg, fragP, stretch)
/* Various things we punt until all input is seen. */
void
-mmix_md_end ()
+mmix_md_end (void)
{
fragS *fragP;
symbolS *mainsym;
@@ -3695,9 +3646,7 @@ mmix_md_end ()
/* qsort function for mmix_symbol_gregs. */
static int
-cmp_greg_symbol_fixes (parg, qarg)
- const PTR parg;
- const PTR qarg;
+cmp_greg_symbol_fixes (const void *parg, const void *qarg)
{
const struct mmix_symbol_greg_fixes *p
= (const struct mmix_symbol_greg_fixes *) parg;
@@ -3714,7 +3663,7 @@ cmp_greg_symbol_fixes (parg, qarg)
as an ELF section. */
void
-mmix_frob_file ()
+mmix_frob_file (void)
{
int i;
struct mmix_symbol_gregs *all_greg_symbols[MAX_GREGS];
@@ -3822,9 +3771,7 @@ mmix_frob_file ()
If the name isn't a built-in name and parsed into *EXPP, return zero. */
int
-mmix_parse_predefined_name (name, expP)
- char *name;
- expressionS *expP;
+mmix_parse_predefined_name (char *name, expressionS *expP)
{
char *canon_name;
char *handler_charp;
@@ -3933,7 +3880,7 @@ mmix_parse_predefined_name (name, expP)
section. */
void
-mmix_md_elf_section_change_hook ()
+mmix_md_elf_section_change_hook (void)
{
if (doing_bspec)
as_bad (_("section change from within a BSPEC/ESPEC pair is not supported"));
@@ -3946,8 +3893,7 @@ mmix_md_elf_section_change_hook ()
section too. */
static void
-s_loc (ignore)
- int ignore ATTRIBUTE_UNUSED;
+s_loc (int ignore ATTRIBUTE_UNUSED)
{
segT section;
expressionS exp;
@@ -4076,7 +4022,7 @@ s_loc (ignore)
by comma. */
static void
-mmix_byte ()
+mmix_byte (void)
{
unsigned int c;
char *start;
@@ -4166,8 +4112,7 @@ mmix_byte ()
lenient than mmix_byte but FIXME: they should eventually merge. */
static void
-mmix_cons (nbytes)
- int nbytes;
+mmix_cons (int nbytes)
{
expressionS exp;
char *start;
@@ -4296,11 +4241,8 @@ mmix_cons (nbytes)
Arguably this is a GCC bug. */
void
-mmix_md_do_align (n, fill, len, max)
- int n;
- char *fill ATTRIBUTE_UNUSED;
- int len ATTRIBUTE_UNUSED;
- int max ATTRIBUTE_UNUSED;
+mmix_md_do_align (int n, char *fill ATTRIBUTE_UNUSED,
+ int len ATTRIBUTE_UNUSED, int max ATTRIBUTE_UNUSED)
{
last_alignment = n;
want_unaligned = n == 0;
diff --git a/gas/config/tc-mmix.h b/gas/config/tc-mmix.h
index c6d222f..33003a3 100644
--- a/gas/config/tc-mmix.h
+++ b/gas/config/tc-mmix.h
@@ -1,5 +1,5 @@
/* tc-mmix.h -- Header file for tc-mmix.c.
- Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
Written by Hans-Peter Nilsson (hp@bitrange.com).
This file is part of GAS, the GNU Assembler.
@@ -41,25 +41,25 @@ extern const char mmix_flt_chars[];
/* "@" is a synonym for ".". */
#define LEX_AT (LEX_BEGIN_NAME)
-extern int mmix_label_without_colon_this_line PARAMS ((void));
+extern int mmix_label_without_colon_this_line (void);
#define LABELS_WITHOUT_COLONS mmix_label_without_colon_this_line ()
extern int mmix_next_semicolon_is_eoln;
#define TC_EOL_IN_INSN(p) (*(p) == ';' && ! mmix_next_semicolon_is_eoln)
/* This is one direction we can get mmixal compatibility. */
-extern void mmix_handle_mmixal PARAMS ((void));
+extern void mmix_handle_mmixal (void);
#define md_start_line_hook mmix_handle_mmixal
-extern void mmix_md_begin PARAMS ((void));
+extern void mmix_md_begin (void);
#define md_begin mmix_md_begin
-extern void mmix_md_end PARAMS ((void));
+extern void mmix_md_end (void);
#define md_end mmix_md_end
extern int mmix_current_location \
- PARAMS ((void (*fn) (expressionS *), expressionS *));
-extern int mmix_parse_predefined_name PARAMS ((char *, expressionS *));
+ (void (*fn) (expressionS *), expressionS *);
+extern int mmix_parse_predefined_name (char *, expressionS *);
extern char *mmix_current_prefix;
@@ -78,7 +78,7 @@ extern int mmix_gnu_syntax;
: ((name[0] == ':' || ISUPPER (name[0])) \
&& mmix_parse_predefined_name (name, exp))))
-extern char *mmix_prefix_name PARAMS ((char *));
+extern char *mmix_prefix_name (char *);
/* We implement when *creating* a symbol, we also need to strip a ':' or
prepend a prefix. */
@@ -87,7 +87,7 @@ extern char *mmix_prefix_name PARAMS ((char *));
#define md_undefined_symbol(x) NULL
-extern void mmix_fb_label PARAMS ((expressionS *));
+extern void mmix_fb_label (expressionS *);
/* Since integer_constant is local to expr.c, we have to make this a
macro. FIXME: Do it cleaner. */
@@ -110,7 +110,7 @@ extern void mmix_fb_label PARAMS ((expressionS *));
/* Gas dislikes the 2ADD, 8ADD etc. insns, so we have to assemble them in
the error-recovery loop. Hopefully there are no significant
differences. Also, space on a line isn't gracefully handled. */
-extern int mmix_assemble_return_nonzero PARAMS ((char *));
+extern int mmix_assemble_return_nonzero (char *);
#define tc_unrecognized_line(c) \
((c) == ' ' \
|| (((c) == '1' || (c) == '2' || (c) == '4' || (c) == '8') \
@@ -124,7 +124,7 @@ extern const struct relax_type mmix_relax_table[];
#define TC_GENERIC_RELAX_TABLE mmix_relax_table
/* We use the relax table for everything except the GREG frags and PUSHJ. */
-extern long mmix_md_relax_frag PARAMS ((segT, fragS *, long));
+extern long mmix_md_relax_frag (segT, fragS *, long);
#define md_relax_frag mmix_md_relax_frag
#define tc_fix_adjustable(FIX) \
@@ -136,7 +136,7 @@ extern long mmix_md_relax_frag PARAMS ((segT, fragS *, long));
/* Adjust symbols which are registers. */
#define tc_adjust_symtab() mmix_adjust_symtab ()
-extern void mmix_adjust_symtab PARAMS ((void));
+extern void mmix_adjust_symtab (void);
/* Here's where we make all symbols global, when so requested.
We must avoid doing that for expression symbols or section symbols,
@@ -170,11 +170,11 @@ extern int mmix_globalize_symbols;
/* When relaxing, we need to emit various relocs we otherwise wouldn't. */
#define TC_FORCE_RELOCATION(fix) mmix_force_relocation (fix)
-extern int mmix_force_relocation PARAMS ((struct fix *));
+extern int mmix_force_relocation (struct fix *);
/* Call md_pcrel_from_section(), not md_pcrel_from(). */
#define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section (FIX, SEC)
-extern long md_pcrel_from_section PARAMS ((struct fix *, segT));
+extern long md_pcrel_from_section (struct fix *, segT);
#define md_section_align(seg, size) (size)
@@ -192,7 +192,7 @@ extern fragS *mmix_opcode_frag;
all symbols have been evaluated and all frags mapped, and when the
fixups are done and relocs are output. Similarly for each unknown
symbol. */
-extern void mmix_frob_file PARAMS ((void));
+extern void mmix_frob_file (void);
#define tc_frob_file_before_fix mmix_frob_file
/* Used by mmix_frob_file. Hangs on section symbols and unknown symbols. */
@@ -210,10 +210,10 @@ struct mmix_segment_info_type
};
#define TC_SEGMENT_INFO_TYPE struct mmix_segment_info_type
-extern void mmix_md_elf_section_change_hook PARAMS ((void));
+extern void mmix_md_elf_section_change_hook (void);
#define md_elf_section_change_hook mmix_md_elf_section_change_hook
-extern void mmix_md_do_align PARAMS ((int, char *, int, int));
+extern void mmix_md_do_align (int, char *, int, int);
#define md_do_align(n, fill, len, max, label) \
mmix_md_do_align (n, fill, len, max)