/* seh pdata/xdata coff object file format
- Copyright (C) 2009-2015 Free Software Foundation, Inc.
+ Copyright (C) 2009-2019 Free Software Foundation, Inc.
This file is part of GAS.
if (*input_line_pointer == '@')
{
- symbol_name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (&symbol_name);
seh_ctx_cur->handler.X_op = O_constant;
seh_ctx_cur->handler.X_add_number = 0;
else
as_bad (_("unknown constant value '%s' for handler"), symbol_name);
- *input_line_pointer = name_end;
+ (void) restore_line_pointer (name_end);
}
else
expression (&seh_ctx_cur->handler);
{
do
{
- symbol_name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (&symbol_name);
if (strcasecmp (symbol_name, "@unwind") == 0)
seh_ctx_cur->handler_flags |= UNW_FLAG_UHANDLER;
else
as_bad (_(".seh_handler constant '%s' unknown"), symbol_name);
- *input_line_pointer = name_end;
+ (void) restore_line_pointer (name_end);
}
while (skip_whitespace_and_comma (0));
}
SKIP_WHITESPACE ();
- symbol_name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (&symbol_name);
seh_ctx_cur->func_name = xstrdup (symbol_name);
- *input_line_pointer = name_end;
+ (void) restore_line_pointer (name_end);
demand_empty_rest_of_line ();
obj_coff_seh_do_final (void)
{
if (seh_ctx_cur != NULL)
- {
- as_bad (_("open SEH entry at end of file (missing .cfi_endproc)"));
- do_seh_endproc ();
- }
+ as_bad (_("open SEH entry at end of file (missing .seh_endproc)"));
}
/* Enter a prologue element into current context (x64). */
SKIP_WHITESPACE ();
if (*input_line_pointer == '%')
++input_line_pointer;
- symbol_name = input_line_pointer;
- name_end = get_symbol_end ();
+ name_end = get_symbol_name (& symbol_name);
for (i = 0; i < 16; i++)
if (! strcasecmp (regs[i], symbol_name))
break;
- *input_line_pointer = name_end;
+ (void) restore_line_pointer (name_end);
/* Error if register not found, or EAX used as a frame pointer. */
if (i == 16 || (kind == 0 && i == 0))