2000-11-06 Kazu Hirata <kazu@hxi.com>

* input-file.c: Fix formatting.
	* input-file.h: Likewise.
	* input-scrub.c: Likewise.
This commit is contained in:
Kazu Hirata 2000-11-06 21:55:46 +00:00
parent c7db355bcd
commit 7152f1dc45
4 changed files with 79 additions and 90 deletions

View file

@ -1,3 +1,9 @@
2000-11-06 Kazu Hirata <kazu@hxi.com>
* input-file.c: Fix formatting.
* input-file.h: Likewise.
* input-scrub.c: Likewise.
2000-11-06 Nick Clifton <nickc@redhat.com> 2000-11-06 Nick Clifton <nickc@redhat.com>
* doc/as.texinfo: Add GNU Free Documentation License. * doc/as.texinfo: Add GNU Free Documentation License.

View file

@ -1,5 +1,5 @@
/* input_file.c - Deal with Input Files - /* input_file.c - Deal with Input Files -
Copyright (C) 1987, 90, 91, 92, 93, 94, 95, 98, 1999 Copyright (C) 1987, 90, 91, 92, 93, 94, 95, 98, 99, 2000
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler. This file is part of GAS, the GNU Assembler.
@ -57,13 +57,12 @@ static FILE *f_in;
static char *file_name; static char *file_name;
/* Struct for saving the state of this module for file includes. */ /* Struct for saving the state of this module for file includes. */
struct saved_file struct saved_file {
{ FILE *f_in;
FILE *f_in; char *file_name;
char *file_name; int preprocess;
int preprocess; char *app_save;
char *app_save; };
};
/* These hooks accomodate most operating systems. */ /* These hooks accomodate most operating systems. */
@ -188,7 +187,7 @@ input_file_close ()
fclose (f_in); fclose (f_in);
} /* don't close a null file pointer */ } /* don't close a null file pointer */
f_in = 0; f_in = 0;
} /* input_file_close() */ }
/* This function is passed to do_scrub_chars. */ /* This function is passed to do_scrub_chars. */
@ -245,5 +244,3 @@ input_file_give_next_buffer (where)
} }
return (return_value); return (return_value);
} }
/* end of input-file.c */

View file

@ -14,12 +14,12 @@
GNU General Public License for more details. GNU General Public License for more details.
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 along with GAS; see the file COPYING. If not, write to the Free
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
/*"input_file.c":Operating-system dependant functions to read source files.*/ /*"input_file.c":Operating-system dependant functions to read source files.*/
/* /*
* No matter what the operating system, this module must provide the * No matter what the operating system, this module must provide the
* following services to its callers. * following services to its callers.
@ -64,5 +64,3 @@ void input_file_close PARAMS ((void));
void input_file_end PARAMS ((void)); void input_file_end PARAMS ((void));
void input_file_open PARAMS ((char *filename, int pre)); void input_file_open PARAMS ((char *filename, int pre));
void input_file_pop PARAMS ((char *arg)); void input_file_pop PARAMS ((char *arg));
/* end of input_file.h */

View file

@ -59,14 +59,15 @@
static char *buffer_start; /*->1st char of full buffer area. */ static char *buffer_start; /*->1st char of full buffer area. */
static char *partial_where; /*->after last full line in buffer. */ static char *partial_where; /*->after last full line in buffer. */
static int partial_size; /* >=0. Number of chars in partial line in buffer. */ static int partial_size; /* >=0. Number of chars in partial line in buffer. */
/* Because we need AFTER_STRING just after last full line, it clobbers
1st part of partial line. So we preserve 1st part of partial line
here. */
static char save_source[AFTER_SIZE]; static char save_source[AFTER_SIZE];
/* Because we need AFTER_STRING just after last */
/* full line, it clobbers 1st part of partial */ /* What is the largest size buffer that input_file_give_next_buffer()
/* line. So we preserve 1st part of partial */ could return to us? */
/* line here. */ static unsigned int buffer_length;
static unsigned int buffer_length; /* What is the largest size buffer that */
/* input_file_give_next_buffer() could */
/* return to us? */
/* The index into an sb structure we are reading from. -1 if none. */ /* The index into an sb structure we are reading from. -1 if none. */
static int sb_index = -1; static int sb_index = -1;
@ -101,24 +102,23 @@ static line_numberT physical_input_line;
static int logical_input_line; static int logical_input_line;
/* Struct used to save the state of the input handler during include files */ /* Struct used to save the state of the input handler during include files */
struct input_save struct input_save {
{ char *buffer_start;
char *buffer_start; char *partial_where;
char *partial_where; int partial_size;
int partial_size; char save_source[AFTER_SIZE];
char save_source[AFTER_SIZE]; unsigned int buffer_length;
unsigned int buffer_length; char *physical_input_file;
char *physical_input_file; char *logical_input_file;
char *logical_input_file; line_numberT physical_input_line;
line_numberT physical_input_line; int logical_input_line;
int logical_input_line; int sb_index;
int sb_index; sb from_sb;
sb from_sb; int from_sb_is_expansion; /* Should we do a conditional check? */
int from_sb_is_expansion; /* Should we do a conditional check? */ struct input_save *next_saved_file; /* Chain of input_saves */
struct input_save *next_saved_file; /* Chain of input_saves */ char *input_file_save; /* Saved state of input routines */
char *input_file_save; /* Saved state of input routines */ char *saved_position; /* Caller's saved position in buf */
char *saved_position; /* Caller's saved position in buf */ };
};
static struct input_save *input_scrub_push PARAMS ((char *saved_position)); static struct input_save *input_scrub_push PARAMS ((char *saved_position));
static char *input_scrub_pop PARAMS ((struct input_save *arg)); static char *input_scrub_pop PARAMS ((struct input_save *arg));
@ -132,6 +132,7 @@ static struct input_save *next_saved_file;
/* Push the state of input reading and scrubbing so that we can #include. /* Push the state of input reading and scrubbing so that we can #include.
The return value is a 'void *' (fudged for old compilers) to a save The return value is a 'void *' (fudged for old compilers) to a save
area, which can be restored by passing it to input_scrub_pop(). */ area, which can be restored by passing it to input_scrub_pop(). */
static struct input_save * static struct input_save *
input_scrub_push (saved_position) input_scrub_push (saved_position)
char *saved_position; char *saved_position;
@ -166,7 +167,7 @@ input_scrub_push (saved_position)
memcpy (buffer_start, BEFORE_STRING, (int) BEFORE_SIZE); memcpy (buffer_start, BEFORE_STRING, (int) BEFORE_SIZE);
return saved; return saved;
} /* input_scrub_push() */ }
static char * static char *
input_scrub_pop (saved) input_scrub_pop (saved)
@ -196,12 +197,12 @@ input_scrub_pop (saved)
return saved_position; return saved_position;
} }
void void
input_scrub_begin () input_scrub_begin ()
{ {
know (strlen (BEFORE_STRING) == BEFORE_SIZE); know (strlen (BEFORE_STRING) == BEFORE_SIZE);
know (strlen (AFTER_STRING) == AFTER_SIZE || (AFTER_STRING[0] == '\0' && AFTER_SIZE == 1)); know (strlen (AFTER_STRING) == AFTER_SIZE
|| (AFTER_STRING[0] == '\0' && AFTER_SIZE == 1));
input_file_begin (); input_file_begin ();
@ -229,9 +230,10 @@ input_scrub_end ()
} }
} }
/* Start reading input from a new file. */ /* Start reading input from a new file.
Return start of caller's part of buffer. */
char * /* Return start of caller's part of buffer. */ char *
input_scrub_new_file (filename) input_scrub_new_file (filename)
char *filename; char *filename;
{ {
@ -311,16 +313,17 @@ input_scrub_next_buffer (bufp)
if (sb_index >= from_sb.len) if (sb_index >= from_sb.len)
{ {
sb_kill (&from_sb); sb_kill (&from_sb);
if (from_sb_is_expansion if (from_sb_is_expansion
) )
{ {
cond_finish_check (macro_nest); cond_finish_check (macro_nest);
#ifdef md_macro_end #ifdef md_macro_end
/* allow the target to clean up per-macro expansion data */ /* Allow the target to clean up per-macro expansion
md_macro_end (); data. */
md_macro_end ();
#endif #endif
} }
--macro_nest; --macro_nest;
partial_where = NULL; partial_where = NULL;
if (next_saved_file != NULL) if (next_saved_file != NULL)
*bufp = input_scrub_pop (next_saved_file); *bufp = input_scrub_pop (next_saved_file);
@ -404,15 +407,13 @@ input_scrub_next_buffer (bufp)
} }
} }
return (partial_where); return (partial_where);
} /* input_scrub_next_buffer() */ }
/* /* The remaining part of this file deals with line numbers, error
* The remaining part of this file deals with line numbers, error messages and so on. Return TRUE if we opened any file. */
* messages and so on.
*/
int int
seen_at_least_1_file () /* TRUE if we opened any file. */ seen_at_least_1_file ()
{ {
return (physical_input_file != NULL); return (physical_input_file != NULL);
} }
@ -428,20 +429,17 @@ bump_line_counters ()
} }
} }
/* /* Tells us what the new logical line number and file are.
* new_logical_line() If the line_number is -1, we don't change the current logical line
* number. If it is -2, we decrement the logical line number (this is
* Tells us what the new logical line number and file are. to support the .appfile pseudo-op inserted into the stream by
* If the line_number is -1, we don't change the current logical line do_scrub_chars).
* number. If it is -2, we decrement the logical line number (this is If the fname is NULL, we don't change the current logical file name.
* to support the .appfile pseudo-op inserted into the stream by Returns nonzero if the filename actually changes. */
* do_scrub_chars).
* If the fname is NULL, we don't change the current logical file name.
* Returns nonzero if the filename actually changes.
*/
int int
new_logical_line (fname, line_number) new_logical_line (fname, line_number)
char *fname; /* DON'T destroy it! We point to it! */ char *fname; /* DON'T destroy it! We point to it! */
int line_number; int line_number;
{ {
if (line_number >= 0) if (line_number >= 0)
@ -458,15 +456,12 @@ new_logical_line (fname, line_number)
} }
else else
return 0; return 0;
} /* new_logical_line() */ }
/* /* Return the current file name and line number.
* a s _ w h e r e () namep should be char * const *, but there are compilers which screw
* up declarations like that, and it's easier to avoid it. */
* Return the current file name and line number.
* namep should be char * const *, but there are compilers which screw
* up declarations like that, and it's easier to avoid it.
*/
void void
as_where (namep, linep) as_where (namep, linep)
char **namep; char **namep;
@ -491,22 +486,17 @@ as_where (namep, linep)
if (linep != NULL) if (linep != NULL)
*linep = 0; *linep = 0;
} }
} /* as_where() */ }
/* Output to given stream how much of line we have scanned so far.
Assumes we have scanned up to and including input_line_pointer.
No free '\n' at end of line. */
/*
* a s _ h o w m u c h ()
*
* Output to given stream how much of line we have scanned so far.
* Assumes we have scanned up to and including input_line_pointer.
* No free '\n' at end of line.
*/
void void
as_howmuch (stream) as_howmuch (stream)
FILE *stream; /* Opened for write please. */ FILE *stream; /* Opened for write please. */
{ {
register char *p; /* Scan input line. */ register char *p; /* Scan input line. */
/* register char c; JF unused */
for (p = input_line_pointer - 1; *p != '\n'; --p) for (p = input_line_pointer - 1; *p != '\n'; --p)
{ {
@ -536,5 +526,3 @@ as_1_char (c, stream)
} }
(void) putc (c, stream); (void) putc (c, stream);
} }
/* end of input_scrub.c */