2000-09-09 Kazu Hirata <kazu@hxi.com>

* input-file.c: Fix formatting.
	* itbl-ops.c: Likewise.
	* messages.c: Likewise.
This commit is contained in:
Kazu Hirata 2000-09-09 20:23:15 +00:00
parent 27985c55a4
commit c488923f16
4 changed files with 76 additions and 80 deletions

View file

@ -1,3 +1,9 @@
2000-09-09 Kazu Hirata <kazu@hxi.com>
* input-file.c: Fix formatting.
* itbl-ops.c: Likewise.
* messages.c: Likewise.
2000-09-08 Philip Blundell <philb@gnu.org> 2000-09-08 Philip Blundell <philb@gnu.org>
* config/tc-arm.c (md_apply_fix3): Correct handling of ADRL when * config/tc-arm.c (md_apply_fix3): Correct handling of ADRL when

View file

@ -65,27 +65,27 @@ struct saved_file
char *app_save; char *app_save;
}; };
/* These hooks accomodate most operating systems. */ /* These hooks accomodate most operating systems. */
void void
input_file_begin () input_file_begin ()
{ {
f_in = (FILE *) 0; f_in = (FILE *) 0;
} }
void void
input_file_end () input_file_end ()
{ {
} }
/* Return BUFFER_SIZE. */ /* Return BUFFER_SIZE. */
unsigned int unsigned int
input_file_buffer_size () input_file_buffer_size ()
{ {
return (BUFFER_SIZE); return (BUFFER_SIZE);
} }
int int
input_file_is_open () input_file_is_open ()
{ {
return f_in != (FILE *) 0; return f_in != (FILE *) 0;
@ -130,7 +130,7 @@ input_file_pop (arg)
void void
input_file_open (filename, pre) input_file_open (filename, pre)
char *filename; /* "" means use stdin. Must not be 0. */ char *filename; /* "" means use stdin. Must not be 0. */
int pre; int pre;
{ {
int c; int c;
@ -138,16 +138,16 @@ input_file_open (filename, pre)
preprocess = pre; preprocess = pre;
assert (filename != 0); /* Filename may not be NULL. */ assert (filename != 0); /* Filename may not be NULL. */
if (filename[0]) if (filename[0])
{ /* We have a file name. Suck it and see. */ { /* We have a file name. Suck it and see. */
f_in = fopen (filename, "r"); f_in = fopen (filename, "r");
file_name = filename; file_name = filename;
} }
else else
{ /* use stdin for the input file. */ { /* use stdin for the input file. */
f_in = stdin; f_in = stdin;
file_name = _("{standard input}"); /* For error messages. */ file_name = _("{standard input}"); /* For error messages. */
} }
if (f_in == (FILE *) 0) if (f_in == (FILE *) 0)
{ {
@ -180,7 +180,7 @@ input_file_open (filename, pre)
} }
/* Close input file. */ /* Close input file. */
void void
input_file_close () input_file_close ()
{ {
if (f_in != NULL) if (f_in != NULL)
@ -212,9 +212,9 @@ input_file_get (buf, buflen)
char * char *
input_file_give_next_buffer (where) input_file_give_next_buffer (where)
char *where; /* Where to place 1st character of new buffer. */ char *where; /* Where to place 1st character of new buffer. */
{ {
char *return_value; /* -> Last char of what we read, + 1. */ char *return_value; /* -> Last char of what we read, + 1. */
register int size; register int size;
if (f_in == (FILE *) 0) if (f_in == (FILE *) 0)

View file

@ -128,12 +128,11 @@ struct itbl_field
struct itbl_field *next; /* next field in list */ struct itbl_field *next; /* next field in list */
}; };
/* These structures define the instructions and registers for a processor. /* These structures define the instructions and registers for a processor.
* If the type is an instruction, the structure defines the format of an * If the type is an instruction, the structure defines the format of an
* instruction where the fields are the list of operands. * instruction where the fields are the list of operands.
* The flags field below uses the same values as those defined in the * The flags field below uses the same values as those defined in the
* gnu assembler and are machine specific. */ * gnu assembler and are machine specific. */
struct itbl_entry struct itbl_entry
{ {
e_processor processor; /* processor number */ e_processor processor; /* processor number */
@ -146,7 +145,6 @@ struct itbl_entry
struct itbl_entry *next; /* next entry */ struct itbl_entry *next; /* next entry */
}; };
/* local data and structures */ /* local data and structures */
static int itbl_num_opcodes = 0; static int itbl_num_opcodes = 0;
@ -163,30 +161,28 @@ static struct itbl_entry *entries[e_nprocs][e_ntypes] =
static unsigned long build_opcode PARAMS ((struct itbl_entry *e)); static unsigned long build_opcode PARAMS ((struct itbl_entry *e));
static e_type get_type PARAMS ((int yytype)); static e_type get_type PARAMS ((int yytype));
static e_processor get_processor PARAMS ((int yyproc)); static e_processor get_processor PARAMS ((int yyproc));
static struct itbl_entry **get_entries PARAMS ((e_processor processor, static struct itbl_entry **get_entries PARAMS ((e_processor processor,
e_type type)); e_type type));
static struct itbl_entry *find_entry_byname PARAMS ((e_processor processor, static struct itbl_entry *find_entry_byname PARAMS ((e_processor processor,
e_type type, char *name)); e_type type, char *name));
static struct itbl_entry *find_entry_byval PARAMS ((e_processor processor, static struct itbl_entry *find_entry_byval PARAMS ((e_processor processor,
e_type type, unsigned long val, struct itbl_range *r)); e_type type, unsigned long val, struct itbl_range *r));
static struct itbl_entry *alloc_entry PARAMS ((e_processor processor, static struct itbl_entry *alloc_entry PARAMS ((e_processor processor,
e_type type, char *name, unsigned long value)); e_type type, char *name, unsigned long value));
static unsigned long apply_range PARAMS ((unsigned long value, static unsigned long apply_range PARAMS ((unsigned long value,
struct itbl_range r)); struct itbl_range r));
static unsigned long extract_range PARAMS ((unsigned long value, static unsigned long extract_range PARAMS ((unsigned long value,
struct itbl_range r)); struct itbl_range r));
static struct itbl_field *alloc_field PARAMS ((e_type type, int sbit, static struct itbl_field *alloc_field PARAMS ((e_type type, int sbit,
int ebit, unsigned long flags)); int ebit, unsigned long flags));
/*======================================================================*/ /*======================================================================*/
/* Interfaces to the parser */ /* Interfaces to the parser */
/* Open the table and use lex and yacc to parse the entries. /* Open the table and use lex and yacc to parse the entries.
* Return 1 for failure; 0 for success. */ * Return 1 for failure; 0 for success. */
int int
itbl_parse (char *insntbl) itbl_parse (char *insntbl)
{ {
extern FILE *yyin; extern FILE *yyin;
@ -213,7 +209,7 @@ struct itbl_entry *
itbl_add_reg (int yyprocessor, int yytype, char *regname, itbl_add_reg (int yyprocessor, int yytype, char *regname,
int regnum) int regnum)
{ {
#if 0 #if 0
#include "as.h" #include "as.h"
#include "symbols.h" #include "symbols.h"
/* Since register names don't have a prefix, we put them in the symbol table so /* Since register names don't have a prefix, we put them in the symbol table so
@ -256,7 +252,7 @@ itbl_add_operand (struct itbl_entry *e, int yytype, int sbit,
struct itbl_field *f, **last_f; struct itbl_field *f, **last_f;
if (!e) if (!e)
return 0; return 0;
/* Add to end of fields' list. */ /* Add to end of fields' list. */
f = alloc_field (get_type (yytype), sbit, ebit, flags); f = alloc_field (get_type (yytype), sbit, ebit, flags);
if (f) if (f)
{ {
@ -269,7 +265,6 @@ itbl_add_operand (struct itbl_entry *e, int yytype, int sbit,
return f; return f;
} }
/*======================================================================*/ /*======================================================================*/
/* Interfaces for assembler and disassembler */ /* Interfaces for assembler and disassembler */
@ -279,7 +274,7 @@ itbl_add_operand (struct itbl_entry *e, int yytype, int sbit,
static void append_insns_as_macros (void); static void append_insns_as_macros (void);
/* initialize for gas */ /* initialize for gas */
void void
itbl_init (void) itbl_init (void)
{ {
struct itbl_entry *e, **es; struct itbl_entry *e, **es;
@ -291,7 +286,7 @@ itbl_init (void)
/* Since register names don't have a prefix, put them in the symbol table so /* Since register names don't have a prefix, put them in the symbol table so
they can't be used as symbols. This simplifies argument parsing as they can't be used as symbols. This simplifies argument parsing as
we can let gas parse registers for us. */ we can let gas parse registers for us. */
/* Use symbol_create instead of symbol_new so we don't try to /* Use symbol_create instead of symbol_new so we don't try to
output registers into the object file's symbol table. */ output registers into the object file's symbol table. */
@ -308,16 +303,15 @@ itbl_init (void)
append_insns_as_macros (); append_insns_as_macros ();
} }
/* Append insns to opcodes table and increase number of opcodes
/* Append insns to opcodes table and increase number of opcodes * Structure of opcodes table:
* Structure of opcodes table:
* struct itbl_opcode * struct itbl_opcode
* { * {
* const char *name; * const char *name;
* const char *args; - string describing the arguments. * const char *args; - string describing the arguments.
* unsigned long match; - opcode, or ISA level if pinfo=INSN_MACRO * unsigned long match; - opcode, or ISA level if pinfo=INSN_MACRO
* unsigned long mask; - opcode mask, or macro id if pinfo=INSN_MACRO * unsigned long mask; - opcode mask, or macro id if pinfo=INSN_MACRO
* unsigned long pinfo; - insn flags, or INSN_MACRO * unsigned long pinfo; - insn flags, or INSN_MACRO
* }; * };
* examples: * examples:
* {"li", "t,i", 0x34000000, 0xffe00000, WR_t }, * {"li", "t,i", 0x34000000, 0xffe00000, WR_t },
@ -325,7 +319,7 @@ itbl_init (void)
*/ */
static char *form_args (struct itbl_entry *e); static char *form_args (struct itbl_entry *e);
static void static void
append_insns_as_macros (void) append_insns_as_macros (void)
{ {
struct ITBL_OPCODE_STRUCT *new_opcodes, *o; struct ITBL_OPCODE_STRUCT *new_opcodes, *o;
@ -352,7 +346,7 @@ append_insns_as_macros (void)
ASSERT (new_size > size); ASSERT (new_size > size);
/* FIXME since ITBL_OPCODES culd be a static table, /* FIXME since ITBL_OPCODES culd be a static table,
we can't realloc or delete the old memory. */ we can't realloc or delete the old memory. */
new_opcodes = (struct ITBL_OPCODE_STRUCT *) malloc (new_size); new_opcodes = (struct ITBL_OPCODE_STRUCT *) malloc (new_size);
if (!new_opcodes) if (!new_opcodes)
{ {
@ -363,7 +357,7 @@ append_insns_as_macros (void)
memcpy (new_opcodes, ITBL_OPCODES, size); memcpy (new_opcodes, ITBL_OPCODES, size);
/* FIXME! some NUMOPCODES are calculated expressions. /* FIXME! some NUMOPCODES are calculated expressions.
These need to be changed before itbls can be supported. */ These need to be changed before itbls can be supported. */
id = ITBL_NUM_MACROS; /* begin the next macro id after the last */ id = ITBL_NUM_MACROS; /* begin the next macro id after the last */
o = &new_opcodes[ITBL_NUM_OPCODES]; /* append macro to opcodes list */ o = &new_opcodes[ITBL_NUM_OPCODES]; /* append macro to opcodes list */
@ -407,7 +401,7 @@ append_insns_as_macros (void)
Don't free name though, since name is being used by the new Don't free name though, since name is being used by the new
opcodes table. opcodes table.
Eventually, we should also free the new opcodes table itself Eventually, we should also free the new opcodes table itself
on exit. on exit.
*/ */
} }
@ -454,7 +448,6 @@ form_args (struct itbl_entry *e)
} }
#endif /* !STAND_ALONE */ #endif /* !STAND_ALONE */
/* Get processor's register name from val */ /* Get processor's register name from val */
int int
@ -501,13 +494,12 @@ itbl_get_val (e_processor processor, e_type type, char *name,
return 1; return 1;
} }
/* Assemble instruction "name" with operands "s". /* Assemble instruction "name" with operands "s".
* name - name of instruction * name - name of instruction
* s - operands * s - operands
* returns - long word for assembled instruction */ * returns - long word for assembled instruction */
unsigned long unsigned long
itbl_assemble (char *name, char *s) itbl_assemble (char *name, char *s)
{ {
unsigned long opcode; unsigned long opcode;
@ -531,7 +523,7 @@ itbl_assemble (char *name, char *s)
opcode = build_opcode (e); opcode = build_opcode (e);
/* parse opcode's args (if any) */ /* parse opcode's args (if any) */
for (f = e->fields; f; f = f->next) /* for each arg, ... */ for (f = e->fields; f; f = f->next) /* for each arg, ... */
{ {
struct itbl_entry *r; struct itbl_entry *r;
unsigned long value; unsigned long value;
@ -573,7 +565,7 @@ itbl_assemble (char *name, char *s)
*/ */
/* If not a symbol, fall thru to IMMED */ /* If not a symbol, fall thru to IMMED */
case e_immed: case e_immed:
if (*n == '0' && *(n + 1) == 'x') /* hex begins 0x... */ if (*n == '0' && *(n + 1) == 'x') /* hex begins 0x... */
{ {
n += 2; n += 2;
value = strtol (n, 0, 16); value = strtol (n, 0, 16);
@ -603,7 +595,7 @@ itbl_assemble (char *name, char *s)
* returns - 1 if succeeded; 0 if failed * returns - 1 if succeeded; 0 if failed
*/ */
int int
itbl_disassemble (char *s, unsigned long insn) itbl_disassemble (char *s, unsigned long insn)
{ {
e_processor processor; e_processor processor;
@ -621,7 +613,7 @@ itbl_disassemble (char *s, unsigned long insn)
strcpy (s, e->name); strcpy (s, e->name);
/* parse insn's args (if any) */ /* parse insn's args (if any) */
for (f = e->fields; f; f = f->next) /* for each arg, ... */ for (f = e->fields; f; f = f->next) /* for each arg, ... */
{ {
struct itbl_entry *r; struct itbl_entry *r;
unsigned long value; unsigned long value;
@ -670,7 +662,7 @@ itbl_disassemble (char *s, unsigned long insn)
/* Calculate instruction's opcode and function values from entry */ /* Calculate instruction's opcode and function values from entry */
static unsigned long static unsigned long
build_opcode (struct itbl_entry *e) build_opcode (struct itbl_entry *e)
{ {
unsigned long opcode; unsigned long opcode;
@ -691,7 +683,7 @@ build_opcode (struct itbl_entry *e)
* mask: 0x01f00000. * mask: 0x01f00000.
*/ */
static unsigned long static unsigned long
apply_range (unsigned long rval, struct itbl_range r) apply_range (unsigned long rval, struct itbl_range r)
{ {
unsigned long mask; unsigned long mask;
@ -715,7 +707,7 @@ apply_range (unsigned long rval, struct itbl_range r)
/* Calculate relative value given the absolute value and bit position range /* Calculate relative value given the absolute value and bit position range
* within the instruction. */ * within the instruction. */
static unsigned long static unsigned long
extract_range (unsigned long aval, struct itbl_range r) extract_range (unsigned long aval, struct itbl_range r)
{ {
unsigned long mask; unsigned long mask;
@ -772,7 +764,7 @@ find_entry_byname (e_processor processor,
struct itbl_entry *e, **es; struct itbl_entry *e, **es;
es = get_entries (processor, type); es = get_entries (processor, type);
for (e = *es; e; e = e->next) /* for each entry, ... */ for (e = *es; e; e = e->next) /* for each entry, ... */
{ {
if (!strcmp (e->name, n)) if (!strcmp (e->name, n))
return e; return e;
@ -794,7 +786,7 @@ find_entry_byval (e_processor processor, e_type type,
unsigned long eval; unsigned long eval;
es = get_entries (processor, type); es = get_entries (processor, type);
for (e = *es; e; e = e->next) /* for each entry, ... */ for (e = *es; e; e = e->next) /* for each entry, ... */
{ {
if (processor != e->processor) if (processor != e->processor)
continue; continue;
@ -804,7 +796,7 @@ find_entry_byval (e_processor processor, e_type type,
* This could cause ambiguities. * This could cause ambiguities.
* For operands, we get an extracted value and a range. * For operands, we get an extracted value and a range.
*/ */
/* if range is 0, mask val against the range of the compared entry. */ /* if range is 0, mask val against the range of the compared entry. */
if (r == 0) /* if no range passed, must be whole 32-bits if (r == 0) /* if no range passed, must be whole 32-bits
* so create 32-bit value from entry's range */ * so create 32-bit value from entry's range */
{ {
@ -825,7 +817,7 @@ find_entry_byval (e_processor processor, e_type type,
return 0; return 0;
} }
/* Return a pointer to the list of entries for a given processor and type. */ /* Return a pointer to the list of entries for a given processor and type. */
static struct itbl_entry ** static struct itbl_entry **
get_entries (e_processor processor, e_type type) get_entries (e_processor processor, e_type type)
@ -833,9 +825,9 @@ get_entries (e_processor processor, e_type type)
return &entries[processor][type]; return &entries[processor][type];
} }
/* Return an integral value for the processor passed from yyparse. */ /* Return an integral value for the processor passed from yyparse. */
static e_processor static e_processor
get_processor (int yyproc) get_processor (int yyproc)
{ {
/* translate from yacc's processor to enum */ /* translate from yacc's processor to enum */
@ -844,9 +836,9 @@ get_processor (int yyproc)
return e_invproc; /* error; invalid processor */ return e_invproc; /* error; invalid processor */
} }
/* Return an integral value for the entry type passed from yyparse. */ /* Return an integral value for the entry type passed from yyparse. */
static e_type static e_type
get_type (int yytype) get_type (int yytype)
{ {
switch (yytype) switch (yytype)
@ -869,7 +861,6 @@ get_type (int yytype)
} }
} }
/* Allocate and initialize an entry */ /* Allocate and initialize an entry */
static struct itbl_entry * static struct itbl_entry *

View file

@ -16,7 +16,7 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with GAS; see the file COPYING. If not, write to the Free along with GAS; see the file COPYING. If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */ 02111-1307, USA. */
#include "as.h" #include "as.h"
@ -107,7 +107,7 @@ identify (file)
static int warning_count; /* Count of number of warnings issued */ static int warning_count; /* Count of number of warnings issued */
int int
had_warnings () had_warnings ()
{ {
return (warning_count); return (warning_count);
@ -118,13 +118,12 @@ had_warnings ()
static int error_count; static int error_count;
int int
had_errors () had_errors ()
{ {
return (error_count); return (error_count);
} }
/* Print the current location to stderr. */ /* Print the current location to stderr. */
static void static void
@ -145,9 +144,9 @@ as_show_where ()
* Like perror(3), but with more info. * Like perror(3), but with more info.
*/ */
void void
as_perror (gripe, filename) as_perror (gripe, filename)
const char *gripe; /* Unpunctuated error theme. */ const char *gripe; /* Unpunctuated error theme. */
const char *filename; const char *filename;
{ {
const char *errtxt; const char *errtxt;
@ -176,7 +175,7 @@ as_perror (gripe, filename)
*/ */
#ifdef USE_STDARG #ifdef USE_STDARG
void void
as_tsktsk (const char *format,...) as_tsktsk (const char *format,...)
{ {
va_list args; va_list args;
@ -188,7 +187,7 @@ as_tsktsk (const char *format,...)
(void) putc ('\n', stderr); (void) putc ('\n', stderr);
} /* as_tsktsk() */ } /* as_tsktsk() */
#else #else
void void
as_tsktsk (format, va_alist) as_tsktsk (format, va_alist)
const char *format; const char *format;
va_dcl va_dcl
@ -237,7 +236,7 @@ as_warn_internal (file, line, buffer)
*/ */
#ifdef USE_STDARG #ifdef USE_STDARG
void void
as_warn (const char *format,...) as_warn (const char *format,...)
{ {
va_list args; va_list args;
@ -253,7 +252,7 @@ as_warn (const char *format,...)
} /* as_warn() */ } /* as_warn() */
#else #else
/*VARARGS1 */ /*VARARGS1 */
void void
as_warn (format, va_alist) as_warn (format, va_alist)
const char *format; const char *format;
va_dcl va_dcl
@ -276,7 +275,7 @@ as_warn (format, va_alist)
to handle the varargs correctly and portably. */ to handle the varargs correctly and portably. */
#ifdef USE_STDARG #ifdef USE_STDARG
void void
as_warn_where (char *file, unsigned int line, const char *format,...) as_warn_where (char *file, unsigned int line, const char *format,...)
{ {
va_list args; va_list args;
@ -292,7 +291,7 @@ as_warn_where (char *file, unsigned int line, const char *format,...)
} /* as_warn() */ } /* as_warn() */
#else #else
/*VARARGS1 */ /*VARARGS1 */
void void
as_warn_where (file, line, format, va_alist) as_warn_where (file, line, format, va_alist)
char *file; char *file;
unsigned int line; unsigned int line;
@ -346,7 +345,7 @@ as_bad_internal (file, line, buffer)
*/ */
#ifdef USE_STDARG #ifdef USE_STDARG
void void
as_bad (const char *format,...) as_bad (const char *format,...)
{ {
va_list args; va_list args;
@ -361,7 +360,7 @@ as_bad (const char *format,...)
#else #else
/*VARARGS1 */ /*VARARGS1 */
void void
as_bad (format, va_alist) as_bad (format, va_alist)
const char *format; const char *format;
va_dcl va_dcl
@ -382,7 +381,7 @@ as_bad (format, va_alist)
to handle the varargs correctly and portably. */ to handle the varargs correctly and portably. */
#ifdef USE_STDARG #ifdef USE_STDARG
void void
as_bad_where (char *file, unsigned int line, const char *format,...) as_bad_where (char *file, unsigned int line, const char *format,...)
{ {
va_list args; va_list args;
@ -397,7 +396,7 @@ as_bad_where (char *file, unsigned int line, const char *format,...)
#else #else
/*VARARGS1 */ /*VARARGS1 */
void void
as_bad_where (file, line, format, va_alist) as_bad_where (file, line, format, va_alist)
char *file; char *file;
unsigned int line; unsigned int line;
@ -425,7 +424,7 @@ as_bad_where (file, line, format, va_alist)
*/ */
#ifdef USE_STDARG #ifdef USE_STDARG
void void
as_fatal (const char *format,...) as_fatal (const char *format,...)
{ {
va_list args; va_list args;
@ -440,7 +439,7 @@ as_fatal (const char *format,...)
} /* as_fatal() */ } /* as_fatal() */
#else #else
/*VARARGS1*/ /*VARARGS1*/
void void
as_fatal (format, va_alist) as_fatal (format, va_alist)
char *format; char *format;
va_dcl va_dcl