diff options
Diffstat (limited to 'gas/config/obj-coff.c')
-rw-r--r-- | gas/config/obj-coff.c | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c index 449cb4f..c0a3f1f 100644 --- a/gas/config/obj-coff.c +++ b/gas/config/obj-coff.c @@ -603,8 +603,7 @@ obj_coff_def (int what ATTRIBUTE_UNUSED) SKIP_WHITESPACES (); - symbol_name = input_line_pointer; - name_end = get_symbol_end (); + name_end = get_symbol_name (&symbol_name); symbol_name_length = strlen (symbol_name); symbol_name_copy = xmalloc (symbol_name_length + 1); strcpy (symbol_name_copy, symbol_name); @@ -620,7 +619,7 @@ obj_coff_def (int what ATTRIBUTE_UNUSED) if (S_IS_STRING (def_symbol_in_progress)) SF_SET_STRING (def_symbol_in_progress); - *input_line_pointer = name_end; + (void) restore_line_pointer (name_end); demand_empty_rest_of_line (); } @@ -973,8 +972,7 @@ obj_coff_tag (int ignore ATTRIBUTE_UNUSED) } S_SET_NUMBER_AUXILIARY (def_symbol_in_progress, 1); - symbol_name = input_line_pointer; - name_end = get_symbol_end (); + name_end = get_symbol_name (&symbol_name); #ifdef tc_canonicalize_symbol_name symbol_name = tc_canonicalize_symbol_name (symbol_name); @@ -988,8 +986,8 @@ obj_coff_tag (int ignore ATTRIBUTE_UNUSED) as_warn (_("tag not found for .tag %s"), symbol_name); SF_SET_TAGGED (def_symbol_in_progress); - *input_line_pointer = name_end; + (void) restore_line_pointer (name_end); demand_empty_rest_of_line (); } @@ -1024,11 +1022,11 @@ obj_coff_val (int ignore ATTRIBUTE_UNUSED) if (is_name_beginner (*input_line_pointer)) { - char *symbol_name = input_line_pointer; - char name_end = get_symbol_end (); + char *symbol_name; + char name_end = get_symbol_name (&symbol_name); #ifdef tc_canonicalize_symbol_name - symbol_name = tc_canonicalize_symbol_name (symbol_name); + symbol_name = tc_canonicalize_symbol_name (symbol_name); #endif if (streq (symbol_name, ".")) { @@ -1059,7 +1057,7 @@ obj_coff_val (int ignore ATTRIBUTE_UNUSED) } /* Otherwise, it is the name of a non debug symbol and its value will be calculated later. */ - *input_line_pointer = name_end; + (void) restore_line_pointer (name_end); } else { @@ -1170,8 +1168,7 @@ obj_coff_weak (int ignore ATTRIBUTE_UNUSED) do { - name = input_line_pointer; - c = get_symbol_end (); + c = get_symbol_name (&name); if (*name == 0) { as_warn (_("badly formed .weak directive ignored")); @@ -1181,7 +1178,7 @@ obj_coff_weak (int ignore ATTRIBUTE_UNUSED) c = 0; symbolP = symbol_find_or_make (name); *input_line_pointer = c; - SKIP_WHITESPACE (); + SKIP_WHITESPACE_AFTER_NAME (); S_SET_WEAK (symbolP); if (c == ',') @@ -1564,15 +1561,11 @@ obj_coff_section (int ignore ATTRIBUTE_UNUSED) return; } - section_name = input_line_pointer; - c = get_symbol_end (); - + c = get_symbol_name (§ion_name); name = xmalloc (input_line_pointer - section_name + 1); strcpy (name, section_name); - *input_line_pointer = c; - - SKIP_WHITESPACE (); + SKIP_WHITESPACE_AFTER_NAME (); exp = 0; flags = SEC_NO_FLAGS; |