diff options
author | Alan Modra <amodra@gmail.com> | 2005-11-07 01:47:54 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2005-11-07 01:47:54 +0000 |
commit | 0e470c55e8f94578da761b5c08201b8bb2914902 (patch) | |
tree | 99d9bfb7d5818008ddb7e2cc0c065c27e5b87c2a /gas/macro.c | |
parent | 3e7d61b225eae88144dfaff1ba52d2452766074f (diff) | |
download | gdb-0e470c55e8f94578da761b5c08201b8bb2914902.zip gdb-0e470c55e8f94578da761b5c08201b8bb2914902.tar.gz gdb-0e470c55e8f94578da761b5c08201b8bb2914902.tar.bz2 |
* macro.c (buffer_and_nest): Skip labels regardless of
NO_PSEUDO_DOT and flag_m68k_mri.
Diffstat (limited to 'gas/macro.c')
-rw-r--r-- | gas/macro.c | 69 |
1 files changed, 33 insertions, 36 deletions
diff --git a/gas/macro.c b/gas/macro.c index eab3e66..23156a1 100644 --- a/gas/macro.c +++ b/gas/macro.c @@ -180,49 +180,46 @@ buffer_and_nest (const char *from, const char *to, sb *ptr, while (more) { - /* Try and find the first pseudo op on the line. */ + /* Try to find the first pseudo op on the line. */ int i = line_start; - if (! NO_PSEUDO_DOT && ! flag_m68k_mri) - { - /* With normal syntax we can suck what we want till we get - to the dot. With the alternate, labels have to start in - the first column, since we can't tell what's a label and - whats a pseudoop. */ + /* With normal syntax we can suck what we want till we get + to the dot. With the alternate, labels have to start in + the first column, since we can't tell what's a label and + what's a pseudoop. */ - if (! LABELS_WITHOUT_COLONS) - { - /* Skip leading whitespace. */ - while (i < ptr->len && ISWHITE (ptr->ptr[i])) - i++; - } + if (! LABELS_WITHOUT_COLONS) + { + /* Skip leading whitespace. */ + while (i < ptr->len && ISWHITE (ptr->ptr[i])) + i++; + } - for (;;) + for (;;) + { + /* Skip over a label, if any. */ + if (i >= ptr->len || ! is_name_beginner (ptr->ptr[i])) + break; + i++; + while (i < ptr->len && is_part_of_name (ptr->ptr[i])) + i++; + if (i < ptr->len && is_name_ender (ptr->ptr[i])) + i++; + if (LABELS_WITHOUT_COLONS) + break; + /* Skip whitespace. */ + while (i < ptr->len && ISWHITE (ptr->ptr[i])) + i++; + /* Check for the colon. */ + if (i >= ptr->len || ptr->ptr[i] != ':') { - /* Skip over a label, if any. */ - if (i >= ptr->len || ! is_name_beginner (ptr->ptr[i])) - break; - i++; - while (i < ptr->len && is_part_of_name (ptr->ptr[i])) - i++; - if (i < ptr->len && is_name_ender (ptr->ptr[i])) - i++; - if (LABELS_WITHOUT_COLONS) - break; - /* Skip whitespace. */ - while (i < ptr->len && ISWHITE (ptr->ptr[i])) - i++; - /* Check for the colon. */ - if (i >= ptr->len || ptr->ptr[i] != ':') - { - i = line_start; - break; - } - i++; - line_start = i; + i = line_start; + break; } - + i++; + line_start = i; } + /* Skip trailing whitespace. */ while (i < ptr->len && ISWHITE (ptr->ptr[i])) i++; |