* read.c (read_a_source_file): Use demand_empty_rest_of_line.
(demand_empty_rest_of_line): Issue an error here. (ignore_rest_of_line): Silently skip to end. (demand_copy_string): Issue an error, not warning. (equals): Likewise. * config/obj-elf.c (obj_elf_section_name): Likewise. (obj_elf_section): Likewise. * config/tc-arc.c (arc_extoper): Remove bogus NULL checks. (arc_extinst): Likewise. * config/tc-ia64.c (dot_saveb): Use demand_empty_rest_of_line. (dot_spill): Likewise. (dot_unwabi): Likewise. (dot_prologue): Likewise.
This commit is contained in:
parent
4a43e768f1
commit
c95b35a920
5 changed files with 45 additions and 47 deletions
|
@ -1,5 +1,19 @@
|
|||
2004-03-18 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* read.c (read_a_source_file): Use demand_empty_rest_of_line.
|
||||
(demand_empty_rest_of_line): Issue an error here.
|
||||
(ignore_rest_of_line): Silently skip to end.
|
||||
(demand_copy_string): Issue an error, not warning.
|
||||
(equals): Likewise.
|
||||
* config/obj-elf.c (obj_elf_section_name): Likewise.
|
||||
(obj_elf_section): Likewise.
|
||||
* config/tc-arc.c (arc_extoper): Remove bogus NULL checks.
|
||||
(arc_extinst): Likewise.
|
||||
* config/tc-ia64.c (dot_saveb): Use demand_empty_rest_of_line.
|
||||
(dot_spill): Likewise.
|
||||
(dot_unwabi): Likewise.
|
||||
(dot_prologue): Likewise.
|
||||
|
||||
* expr.c (operand): Reject ++ and --.
|
||||
(operator): Likewise.
|
||||
|
||||
|
|
|
@ -787,7 +787,7 @@ obj_elf_section_name (void)
|
|||
end++;
|
||||
if (end == input_line_pointer)
|
||||
{
|
||||
as_warn (_("missing name"));
|
||||
as_bad (_("missing name"));
|
||||
ignore_rest_of_line ();
|
||||
return NULL;
|
||||
}
|
||||
|
@ -938,7 +938,7 @@ obj_elf_section (int push)
|
|||
SKIP_WHITESPACE ();
|
||||
if (*input_line_pointer != '#')
|
||||
{
|
||||
as_warn (_("character following name is not '#'"));
|
||||
as_bad (_("character following name is not '#'"));
|
||||
ignore_rest_of_line ();
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -905,11 +905,6 @@ arc_extoper (opertype)
|
|||
name = input_line_pointer;
|
||||
c = get_symbol_end ();
|
||||
name = xstrdup (name);
|
||||
if (NULL == name)
|
||||
{
|
||||
ignore_rest_of_line ();
|
||||
return;
|
||||
}
|
||||
|
||||
p = name;
|
||||
while (*p)
|
||||
|
@ -1153,11 +1148,6 @@ arc_extinst (ignore)
|
|||
name = input_line_pointer;
|
||||
c = get_symbol_end ();
|
||||
name = xstrdup (name);
|
||||
if (NULL == name)
|
||||
{
|
||||
ignore_rest_of_line ();
|
||||
return;
|
||||
}
|
||||
strcpy (syntax, name);
|
||||
name_len = strlen (name);
|
||||
|
||||
|
@ -1305,18 +1295,7 @@ arc_extinst (ignore)
|
|||
strcat (syntax, "%S%L");
|
||||
|
||||
ext_op = (struct arc_opcode *) xmalloc (sizeof (struct arc_opcode));
|
||||
if (NULL == ext_op)
|
||||
{
|
||||
ignore_rest_of_line ();
|
||||
return;
|
||||
}
|
||||
|
||||
ext_op->syntax = xstrdup (syntax);
|
||||
if (NULL == ext_op->syntax)
|
||||
{
|
||||
ignore_rest_of_line ();
|
||||
return;
|
||||
}
|
||||
|
||||
ext_op->mask = I (-1) | ((0x3 == opcode) ? C (-1) : 0);
|
||||
ext_op->value = I (opcode) | ((0x3 == opcode) ? C (subopcode) : 0);
|
||||
|
|
|
@ -3617,7 +3617,7 @@ dot_saveb (dummy)
|
|||
add_unwind_entry (output_br_mem (brmask));
|
||||
|
||||
if (!is_end_of_line[sep] && !is_it_end_of_statement ())
|
||||
ignore_rest_of_line ();
|
||||
demand_empty_rest_of_line ();
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -3649,7 +3649,7 @@ dot_spill (dummy)
|
|||
|
||||
sep = parse_operand (&e);
|
||||
if (!is_end_of_line[sep] && !is_it_end_of_statement ())
|
||||
ignore_rest_of_line ();
|
||||
demand_empty_rest_of_line ();
|
||||
|
||||
if (e.X_op != O_constant)
|
||||
as_bad ("Operand to .spill must be a constant");
|
||||
|
@ -3925,7 +3925,7 @@ dot_unwabi (dummy)
|
|||
}
|
||||
sep = parse_operand (&e2);
|
||||
if (!is_end_of_line[sep] && !is_it_end_of_statement ())
|
||||
ignore_rest_of_line ();
|
||||
demand_empty_rest_of_line ();
|
||||
|
||||
if (e1.X_op != O_constant)
|
||||
{
|
||||
|
@ -4020,7 +4020,7 @@ dot_prologue (dummy)
|
|||
as_bad ("No second operand to .prologue");
|
||||
sep = parse_operand (&e2);
|
||||
if (!is_end_of_line[sep] && !is_it_end_of_statement ())
|
||||
ignore_rest_of_line ();
|
||||
demand_empty_rest_of_line ();
|
||||
|
||||
if (e1.X_op == O_constant)
|
||||
{
|
||||
|
|
45
gas/read.c
45
gas/read.c
|
@ -1053,7 +1053,7 @@ read_a_source_file (char *name)
|
|||
#endif
|
||||
input_line_pointer--;
|
||||
/* Report unknown char as ignored. */
|
||||
ignore_rest_of_line ();
|
||||
demand_empty_rest_of_line ();
|
||||
}
|
||||
|
||||
#ifdef md_after_pass_hook
|
||||
|
@ -3020,6 +3020,10 @@ s_text (int ignore ATTRIBUTE_UNUSED)
|
|||
#endif
|
||||
}
|
||||
|
||||
|
||||
/* Verify that we are at the end of a line. If not, issue an error and
|
||||
skip to EOL. */
|
||||
|
||||
void
|
||||
demand_empty_rest_of_line (void)
|
||||
{
|
||||
|
@ -3027,28 +3031,29 @@ demand_empty_rest_of_line (void)
|
|||
if (is_end_of_line[(unsigned char) *input_line_pointer])
|
||||
input_line_pointer++;
|
||||
else
|
||||
ignore_rest_of_line ();
|
||||
|
||||
/* Return having already swallowed end-of-line. */
|
||||
{
|
||||
if (ISPRINT (*input_line_pointer))
|
||||
as_bad (_("junk at end of line, first unrecognized character is `%c'"),
|
||||
*input_line_pointer);
|
||||
else
|
||||
as_bad (_("junk at end of line, first unrecognized character valued 0x%x"),
|
||||
*input_line_pointer);
|
||||
ignore_rest_of_line ();
|
||||
}
|
||||
|
||||
/* Return pointing just after end-of-line. */
|
||||
know (is_end_of_line[(unsigned char) input_line_pointer[-1]]);
|
||||
}
|
||||
|
||||
/* Silently advance to the end of line. Use this after already having
|
||||
issued an error about something bad. */
|
||||
|
||||
void
|
||||
ignore_rest_of_line (void)
|
||||
{
|
||||
/* For suspect lines: gives warning. */
|
||||
if (!is_end_of_line[(unsigned char) *input_line_pointer])
|
||||
{
|
||||
if (ISPRINT (*input_line_pointer))
|
||||
as_warn (_("rest of line ignored; first ignored character is `%c'"),
|
||||
*input_line_pointer);
|
||||
else
|
||||
as_warn (_("rest of line ignored; first ignored character valued 0x%x"),
|
||||
*input_line_pointer);
|
||||
|
||||
while (input_line_pointer < buffer_limit
|
||||
&& !is_end_of_line[(unsigned char) *input_line_pointer])
|
||||
input_line_pointer++;
|
||||
}
|
||||
while (input_line_pointer < buffer_limit
|
||||
&& !is_end_of_line[(unsigned char) *input_line_pointer])
|
||||
input_line_pointer++;
|
||||
|
||||
input_line_pointer++;
|
||||
|
||||
|
@ -4738,7 +4743,7 @@ demand_copy_string (int *lenP)
|
|||
}
|
||||
else
|
||||
{
|
||||
as_warn (_("missing string"));
|
||||
as_bad (_("missing string"));
|
||||
retval = NULL;
|
||||
ignore_rest_of_line ();
|
||||
}
|
||||
|
@ -4814,7 +4819,7 @@ equals (char *sym_name, int reassign)
|
|||
if (flag_mri)
|
||||
{
|
||||
/* Check garbage after the expression. */
|
||||
ignore_rest_of_line ();
|
||||
demand_empty_rest_of_line ();
|
||||
mri_comment_end (stop, stopc);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue