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>
* config/tc-arm.c (md_apply_fix3): Correct handling of ADRL when

View file

@ -65,27 +65,27 @@ struct saved_file
char *app_save;
};
/* These hooks accomodate most operating systems. */
/* These hooks accomodate most operating systems. */
void
void
input_file_begin ()
{
f_in = (FILE *) 0;
}
void
void
input_file_end ()
{
}
/* Return BUFFER_SIZE. */
unsigned int
/* Return BUFFER_SIZE. */
unsigned int
input_file_buffer_size ()
{
return (BUFFER_SIZE);
}
int
int
input_file_is_open ()
{
return f_in != (FILE *) 0;
@ -130,7 +130,7 @@ input_file_pop (arg)
void
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 c;
@ -138,16 +138,16 @@ input_file_open (filename, pre)
preprocess = pre;
assert (filename != 0); /* Filename may not be NULL. */
assert (filename != 0); /* Filename may not be NULL. */
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");
file_name = filename;
}
else
{ /* use stdin for the input file. */
{ /* use stdin for the input file. */
f_in = stdin;
file_name = _("{standard input}"); /* For error messages. */
file_name = _("{standard input}"); /* For error messages. */
}
if (f_in == (FILE *) 0)
{
@ -180,7 +180,7 @@ input_file_open (filename, pre)
}
/* Close input file. */
void
void
input_file_close ()
{
if (f_in != NULL)
@ -212,9 +212,9 @@ input_file_get (buf, buflen)
char *
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;
if (f_in == (FILE *) 0)

View file

@ -128,12 +128,11 @@ struct itbl_field
struct itbl_field *next; /* next field in list */
};
/* These structures define the instructions and registers for a processor.
* If the type is an instruction, the structure defines the format of an
* instruction where the fields are the list of operands.
* 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
{
e_processor processor; /* processor number */
@ -146,7 +145,6 @@ struct itbl_entry
struct itbl_entry *next; /* next entry */
};
/* local data and structures */
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 e_type get_type PARAMS ((int yytype));
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));
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));
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));
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));
static unsigned long apply_range PARAMS ((unsigned long value,
static unsigned long apply_range PARAMS ((unsigned long value,
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));
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));
/*======================================================================*/
/* Interfaces to the parser */
/* Open the table and use lex and yacc to parse the entries.
* Return 1 for failure; 0 for success. */
int
int
itbl_parse (char *insntbl)
{
extern FILE *yyin;
@ -213,7 +209,7 @@ struct itbl_entry *
itbl_add_reg (int yyprocessor, int yytype, char *regname,
int regnum)
{
#if 0
#if 0
#include "as.h"
#include "symbols.h"
/* 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;
if (!e)
return 0;
/* Add to end of fields' list. */
/* Add to end of fields' list. */
f = alloc_field (get_type (yytype), sbit, ebit, flags);
if (f)
{
@ -269,7 +265,6 @@ itbl_add_operand (struct itbl_entry *e, int yytype, int sbit,
return f;
}
/*======================================================================*/
/* 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);
/* initialize for gas */
void
void
itbl_init (void)
{
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
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
output registers into the object file's symbol table. */
@ -308,16 +303,15 @@ itbl_init (void)
append_insns_as_macros ();
}
/* Append insns to opcodes table and increase number of opcodes
* Structure of opcodes table:
/* Append insns to opcodes table and increase number of opcodes
* Structure of opcodes table:
* struct itbl_opcode
* {
* const char *name;
* const char *args; - string describing the arguments.
* 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 pinfo; - insn flags, or INSN_MACRO
* const char *args; - string describing the arguments.
* 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 pinfo; - insn flags, or INSN_MACRO
* };
* examples:
* {"li", "t,i", 0x34000000, 0xffe00000, WR_t },
@ -325,7 +319,7 @@ itbl_init (void)
*/
static char *form_args (struct itbl_entry *e);
static void
static void
append_insns_as_macros (void)
{
struct ITBL_OPCODE_STRUCT *new_opcodes, *o;
@ -352,7 +346,7 @@ append_insns_as_macros (void)
ASSERT (new_size > size);
/* 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);
if (!new_opcodes)
{
@ -363,7 +357,7 @@ append_insns_as_macros (void)
memcpy (new_opcodes, ITBL_OPCODES, size);
/* 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 */
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
opcodes table.
Eventually, we should also free the new opcodes table itself
Eventually, we should also free the new opcodes table itself
on exit.
*/
}
@ -454,7 +448,6 @@ form_args (struct itbl_entry *e)
}
#endif /* !STAND_ALONE */
/* Get processor's register name from val */
int
@ -501,13 +494,12 @@ itbl_get_val (e_processor processor, e_type type, char *name,
return 1;
}
/* Assemble instruction "name" with operands "s".
* name - name of instruction
* s - operands
* returns - long word for assembled instruction */
unsigned long
unsigned long
itbl_assemble (char *name, char *s)
{
unsigned long opcode;
@ -531,7 +523,7 @@ itbl_assemble (char *name, char *s)
opcode = build_opcode (e);
/* 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;
unsigned long value;
@ -573,7 +565,7 @@ itbl_assemble (char *name, char *s)
*/
/* If not a symbol, fall thru to IMMED */
case e_immed:
if (*n == '0' && *(n + 1) == 'x') /* hex begins 0x... */
if (*n == '0' && *(n + 1) == 'x') /* hex begins 0x... */
{
n += 2;
value = strtol (n, 0, 16);
@ -603,7 +595,7 @@ itbl_assemble (char *name, char *s)
* returns - 1 if succeeded; 0 if failed
*/
int
int
itbl_disassemble (char *s, unsigned long insn)
{
e_processor processor;
@ -621,7 +613,7 @@ itbl_disassemble (char *s, unsigned long insn)
strcpy (s, e->name);
/* 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;
unsigned long value;
@ -670,7 +662,7 @@ itbl_disassemble (char *s, unsigned long insn)
/* Calculate instruction's opcode and function values from entry */
static unsigned long
static unsigned long
build_opcode (struct itbl_entry *e)
{
unsigned long opcode;
@ -691,7 +683,7 @@ build_opcode (struct itbl_entry *e)
* mask: 0x01f00000.
*/
static unsigned long
static unsigned long
apply_range (unsigned long rval, struct itbl_range r)
{
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
* within the instruction. */
static unsigned long
static unsigned long
extract_range (unsigned long aval, struct itbl_range r)
{
unsigned long mask;
@ -772,7 +764,7 @@ find_entry_byname (e_processor processor,
struct itbl_entry *e, **es;
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))
return e;
@ -794,7 +786,7 @@ find_entry_byval (e_processor processor, e_type type,
unsigned long eval;
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)
continue;
@ -804,7 +796,7 @@ find_entry_byval (e_processor processor, e_type type,
* This could cause ambiguities.
* 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
* 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 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 **
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 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)
{
/* translate from yacc's processor to enum */
@ -844,9 +836,9 @@ get_processor (int yyproc)
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)
{
switch (yytype)
@ -869,7 +861,6 @@ get_type (int yytype)
}
}
/* Allocate and initialize an entry */
static struct itbl_entry *

View file

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