rtl.h (read_rtx): Change prototype.
* rtl.h (read_rtx): Change prototype. * read-rtl.c (read_rtx): Provide the caller with both an rtx and a line number. Return true on success. * gensupport.c (process_include, init_md_reader_args_cb): Adjust callers accordingly. From-SVN: r86657
This commit is contained in:
parent
6a6bfc8e70
commit
57406c63cd
@ -1,3 +1,11 @@
|
||||
2004-08-26 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* rtl.h (read_rtx): Change prototype.
|
||||
* read-rtl.c (read_rtx): Provide the caller with both an rtx and a
|
||||
line number. Return true on success.
|
||||
* gensupport.c (process_include, init_md_reader_args_cb): Adjust
|
||||
callers accordingly.
|
||||
|
||||
2004-08-26 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* c-typeck.c (build_offsetof): Remove.
|
||||
|
@ -246,20 +246,8 @@ process_include (rtx desc, int lineno)
|
||||
read_rtx_lineno = 1;
|
||||
|
||||
/* Read the entire file. */
|
||||
while (1)
|
||||
{
|
||||
rtx desc;
|
||||
int c;
|
||||
|
||||
c = read_skip_spaces (input_file);
|
||||
if (c == EOF)
|
||||
break;
|
||||
|
||||
ungetc (c, input_file);
|
||||
lineno = read_rtx_lineno;
|
||||
desc = read_rtx (input_file);
|
||||
process_rtx (desc, lineno);
|
||||
}
|
||||
while (read_rtx (input_file, &desc, &lineno))
|
||||
process_rtx (desc, lineno);
|
||||
|
||||
/* Do not free pathname. It is attached to the various rtx queue
|
||||
elements. */
|
||||
@ -911,9 +899,10 @@ int
|
||||
init_md_reader_args_cb (int argc, char **argv, bool (*parse_opt)(const char *))
|
||||
{
|
||||
FILE *input_file;
|
||||
int i;
|
||||
int i, lineno;
|
||||
size_t ix;
|
||||
char *lastsl;
|
||||
rtx desc;
|
||||
|
||||
for (i = 1; i < argc; i++)
|
||||
{
|
||||
@ -991,19 +980,8 @@ init_md_reader_args_cb (int argc, char **argv, bool (*parse_opt)(const char *))
|
||||
sequence_num = 0;
|
||||
|
||||
/* Read the entire file. */
|
||||
while (1)
|
||||
{
|
||||
rtx desc;
|
||||
int lineno;
|
||||
int c = read_skip_spaces (input_file);
|
||||
if (c == EOF)
|
||||
break;
|
||||
|
||||
ungetc (c, input_file);
|
||||
lineno = read_rtx_lineno;
|
||||
desc = read_rtx (input_file);
|
||||
process_rtx (desc, lineno);
|
||||
}
|
||||
while (read_rtx (input_file, &desc, &lineno))
|
||||
process_rtx (desc, lineno);
|
||||
fclose (input_file);
|
||||
|
||||
/* Process define_cond_exec patterns. */
|
||||
|
@ -1066,16 +1066,20 @@ check_code_macro (struct mapping *macro, FILE *infile)
|
||||
bellwether_codes[macro->index] = bellwether;
|
||||
}
|
||||
|
||||
/* Read an rtx in printed representation from INFILE
|
||||
and return an actual rtx in core constructed accordingly.
|
||||
/* Read an rtx in printed representation from INFILE and store its
|
||||
core representation in *X. Also store the line number of the
|
||||
opening '(' in *LINENO. Return true on success or false if the
|
||||
end of file has been reached.
|
||||
|
||||
read_rtx is not used in the compiler proper, but rather in
|
||||
the utilities gen*.c that construct C code from machine descriptions. */
|
||||
|
||||
rtx
|
||||
read_rtx (FILE *infile)
|
||||
bool
|
||||
read_rtx (FILE *infile, rtx *x, int *lineno)
|
||||
{
|
||||
static rtx queue_head, queue_next;
|
||||
rtx return_rtx;
|
||||
static int queue_lineno;
|
||||
int c;
|
||||
|
||||
/* Do one-time initialization. */
|
||||
if (queue_head == 0)
|
||||
@ -1087,8 +1091,13 @@ read_rtx (FILE *infile)
|
||||
|
||||
if (queue_next == 0)
|
||||
{
|
||||
queue_next = queue_head;
|
||||
c = read_skip_spaces (infile);
|
||||
if (c == EOF)
|
||||
return false;
|
||||
ungetc (c, infile);
|
||||
|
||||
queue_next = queue_head;
|
||||
queue_lineno = read_rtx_lineno;
|
||||
XEXP (queue_next, 0) = read_rtx_1 (infile);
|
||||
XEXP (queue_next, 1) = 0;
|
||||
|
||||
@ -1096,10 +1105,11 @@ read_rtx (FILE *infile)
|
||||
htab_traverse (codes.macros, apply_macro_traverse, queue_next);
|
||||
}
|
||||
|
||||
return_rtx = XEXP (queue_next, 0);
|
||||
*x = XEXP (queue_next, 0);
|
||||
*lineno = queue_lineno;
|
||||
queue_next = XEXP (queue_next, 1);
|
||||
|
||||
return return_rtx;
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Subroutine of read_rtx that reads one construct from INFILE but
|
||||
|
Loading…
Reference in New Issue
Block a user