{
char *name, c;
- name = input_line_pointer;
- c = get_symbol_end ();
+ c = get_symbol_name (& name);
exp->X_op = O_constant;
exp->X_add_number = tc_regname_to_dw2regnum (name);
- *input_line_pointer = c;
+ restore_line_pointer (c);
}
else
# endif
int sections = 0;
SKIP_WHITESPACE ();
- if (is_name_beginner (*input_line_pointer))
+ if (is_name_beginner (*input_line_pointer) || *input_line_pointer == '"')
while (1)
{
+ char * saved_ilp;
char *name, c;
- name = input_line_pointer;
- c = get_symbol_end ();
+ saved_ilp = input_line_pointer;
+ c = get_symbol_name (& name);
if (strncmp (name, ".eh_frame", sizeof ".eh_frame") == 0
&& name[9] != '_')
else
{
*input_line_pointer = c;
- input_line_pointer = name;
+ input_line_pointer = saved_ilp;
break;
}
*input_line_pointer = c;
- SKIP_WHITESPACE ();
+ SKIP_WHITESPACE_AFTER_NAME ();
if (*input_line_pointer == ',')
{
name = input_line_pointer++;
SKIP_WHITESPACE ();
- if (!is_name_beginner (*input_line_pointer))
+ if (!is_name_beginner (*input_line_pointer) && *input_line_pointer != '"')
{
input_line_pointer = name;
break;
}
}
- else if (is_name_beginner (*input_line_pointer))
+ else if (is_name_beginner (*input_line_pointer) || *input_line_pointer == '"')
break;
}
cfi_new_fde (symbol_temp_new_now ());
SKIP_WHITESPACE ();
- if (is_name_beginner (*input_line_pointer))
+ if (is_name_beginner (*input_line_pointer) || *input_line_pointer == '"')
{
+ char * saved_ilp = input_line_pointer;
char *name, c;
- name = input_line_pointer;
- c = get_symbol_end ();
+ c = get_symbol_name (& name);
if (strcmp (name, "simple") == 0)
{
simple = 1;
- *input_line_pointer = c;
+ restore_line_pointer (c);
}
else
- input_line_pointer = name;
+ input_line_pointer = saved_ilp;
}
demand_empty_rest_of_line ();