Selected bits from GNU gas 2.3

Remove label parsing hack.
(RCS file fixup by cgd.)
This commit is contained in:
pk 1994-05-25 21:06:13 +00:00
parent 56de4ac628
commit 4c34eff417

View File

@ -19,7 +19,7 @@
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifndef lint
static char rcsid[] = "$Id: read.c,v 1.7 1994/05/25 21:05:30 phil Exp $";
static char rcsid[] = "$Id: read.c,v 1.8 1994/05/25 21:06:13 pk Exp $";
#endif
#define MASK_CHAR (0xFF) /* If your chars aren't 8 bits, you will
@ -214,7 +214,8 @@ static const pseudo_typeS
/* err */
/* extend */
{ "extern", s_ignore, 0 }, /* We treat all undef as ext */
{ "app-file", s_app_file, 0 },
{ "appline", s_app_line, 0 },
{ "appfile", s_app_file, 1 },
{ "file", s_app_file, 0 },
{ "fill", s_fill, 0 },
{ "float", float_cons, 'f' },
@ -408,17 +409,6 @@ char *name;
* [In case of pseudo-op, s->'.'.]
* Input_line_pointer->'\0' where c was.
*/
if (c==' ' || c=='\t') {
int i=1;
while(input_line_pointer[i] != '\0' &&
input_line_pointer[i] == ' ' &&
input_line_pointer[i] == '\t') i++;
if (input_line_pointer[i] == ':') {
input_line_pointer += i;
*input_line_pointer = '\0';
c = ':';
}
}
if (c == ':') {
colon(s); /* user-defined label */
* input_line_pointer ++ = ':'; /* Put ':' back for error messages' sake. */
@ -762,13 +752,26 @@ void
demand_empty_rest_of_line();
}
void s_app_file() {
/* Handle the .appfile pseudo-op. This is automatically generated by
do_scrub_next_char when a preprocessor # line comment is seen with
a file name. This default definition may be overridden by the
object or CPU specific pseudo-ops. This function is also the
default definition for .file; the APPFILE argument is 1 for
.appfile, 0 for .file. */
void s_app_file(appfile)
int appfile;
{
register char *s;
int length;
/* Some assemblers tolerate immediately following '"' */
if ((s = demand_copy_string(&length)) != 0) {
new_logical_line(s, -1);
/* If this is a fake .appfile, a fake newline was inserted
* into the buffer. Passing -2 to new_logical_line tells it
* to account for it.
*/
new_logical_line (s, appfile ? -2 : -1);
demand_empty_rest_of_line();
}
#ifdef OBJ_COFF
@ -776,6 +779,27 @@ void s_app_file() {
#endif /* OBJ_COFF */
} /* s_app_file() */
/* Handle the .appline pseudo-op. This is automatically generated by
do_scrub_next_char when a preprocessor # line comment is seen.
This default definition may be overridden by the object or CPU
specific pseudo-ops. */
void
s_app_line (ignore)
int ignore;
{
int l;
/* The given number is that of the next line. */
l = get_absolute_expression () - 1;
new_logical_line ((char *) NULL, l);
#ifdef LISTING
if (listing)
listing_source_line (l);
#endif
demand_empty_rest_of_line ();
}
void s_fill() {
long temp_repeat;
long temp_size;