diff options
Diffstat (limited to 'gas/macro.c')
-rw-r--r-- | gas/macro.c | 41 |
1 files changed, 14 insertions, 27 deletions
diff --git a/gas/macro.c b/gas/macro.c index 5d3b0f2..948d76d 100644 --- a/gas/macro.c +++ b/gas/macro.c @@ -34,7 +34,7 @@ #define ISSEP(x) \ ((x) == ' ' || (x) == '\t' || (x) == ',' || (x) == '"' || (x) == ';' \ || (x) == ')' || (x) == '(' \ - || ((macro_alternate || flag_mri) && ((x) == '<' || (x) == '>'))) + || ((flag_macro_alternate || flag_mri) && ((x) == '<' || (x) == '>'))) #define ISBASE(x) \ ((x) == 'b' || (x) == 'B' \ @@ -50,10 +50,6 @@ htab_t macro_hash; int macro_defined; -/* Whether we are in alternate syntax mode. */ - -static int macro_alternate; - /* Whether we should strip '@' characters. */ #define macro_strip_at false @@ -74,12 +70,11 @@ macro_del_f (void *ent) /* Initialize macro processing. */ void -macro_init (int alternate) +macro_init (void) { macro_hash = htab_create_alloc (16, hash_string_tuple, eq_string_tuple, macro_del_f, notes_calloc, NULL); macro_defined = 0; - macro_alternate = alternate; } void @@ -88,14 +83,6 @@ macro_end (void) htab_delete (macro_hash); } -/* Switch in and out of alternate mode on the fly. */ - -void -macro_set_alternate (int alternate) -{ - macro_alternate = alternate; -} - /* Read input lines till we get to a TO string. Increase nesting depth if we get a FROM string. Put the results into sb at PTR. @@ -284,7 +271,7 @@ get_token (size_t idx, sb *in, sb *name) } } /* Ignore trailing &. */ - if (macro_alternate && idx < in->len && in->ptr[idx] == '&') + if (flag_macro_alternate && idx < in->len && in->ptr[idx] == '&') idx++; return idx; } @@ -296,8 +283,8 @@ getstring (size_t idx, sb *in, sb *acc) { while (idx < in->len && (in->ptr[idx] == '"' - || (in->ptr[idx] == '<' && (macro_alternate || flag_mri)) - || (in->ptr[idx] == '\'' && macro_alternate))) + || (in->ptr[idx] == '<' && (flag_macro_alternate || flag_mri)) + || (in->ptr[idx] == '\'' && flag_macro_alternate))) { if (in->ptr[idx] == '<') { @@ -336,7 +323,7 @@ getstring (size_t idx, sb *in, sb *acc) else escaped = 0; - if (macro_alternate && in->ptr[idx] == '!') + if (flag_macro_alternate && in->ptr[idx] == '!') { idx ++; @@ -390,7 +377,7 @@ get_any_string (size_t idx, sb *in, sb *out) while (idx < in->len && !ISSEP (in->ptr[idx])) sb_add_char (out, in->ptr[idx++]); } - else if (in->ptr[idx] == '%' && macro_alternate) + else if (in->ptr[idx] == '%' && flag_macro_alternate) { /* Turn the following expression into a string. */ expressionS ex; @@ -410,10 +397,10 @@ get_any_string (size_t idx, sb *in, sb *out) sb_add_string (out, buf); } else if (in->ptr[idx] == '"' - || (in->ptr[idx] == '<' && (macro_alternate || flag_mri)) - || (macro_alternate && in->ptr[idx] == '\'')) + || (in->ptr[idx] == '<' && (flag_macro_alternate || flag_mri)) + || (flag_macro_alternate && in->ptr[idx] == '\'')) { - if (macro_alternate && ! macro_strip_at && in->ptr[idx] != '<') + if (flag_macro_alternate && ! macro_strip_at && in->ptr[idx] != '<') { /* Keep the quotes. */ sb_add_char (out, '"'); @@ -437,7 +424,7 @@ get_any_string (size_t idx, sb *in, sb *out) && in->ptr[idx] != '\t')) && in->ptr[idx] != ',' && (in->ptr[idx] != '<' - || (! macro_alternate && ! flag_mri))) + || (! flag_macro_alternate && ! flag_mri))) { char tchar = in->ptr[idx]; @@ -904,7 +891,7 @@ macro_expand_body (sb *in, sb *out, formal_entry *formals, src = sub_actual (src, in, &t, formal_hash, '\'', out, 0); } } - else if ((macro_alternate || flag_mri) + else if ((flag_macro_alternate || flag_mri) && is_name_beginner (in->ptr[src]) && (! inquote || ! macro_strip_at @@ -1093,9 +1080,9 @@ macro_expand (size_t idx, sb *in, macro_entry *m, sb *out) while (scan < in->len && !ISSEP (in->ptr[scan]) && !(flag_mri && in->ptr[scan] == '\'') - && (!macro_alternate && in->ptr[scan] != '=')) + && (!flag_macro_alternate && in->ptr[scan] != '=')) scan++; - if (scan < in->len && !macro_alternate && in->ptr[scan] == '=') + if (scan < in->len && !flag_macro_alternate && in->ptr[scan] == '=') { is_keyword = 1; |