diff options
author | Doug Evans <dje@google.com> | 1998-01-06 13:12:16 +0000 |
---|---|---|
committer | Doug Evans <dje@google.com> | 1998-01-06 13:12:16 +0000 |
commit | 61e09fac5755a6c8eea0a826665ef4b4ffab5d1b (patch) | |
tree | 98be916af8d384e4fb60b609f96efb8956eec0ec /gas/config/tc-txvu.c | |
parent | 42639e838c251504d55d9c69c933eda23c815959 (diff) | |
download | gdb-61e09fac5755a6c8eea0a826665ef4b4ffab5d1b.zip gdb-61e09fac5755a6c8eea0a826665ef4b4ffab5d1b.tar.gz gdb-61e09fac5755a6c8eea0a826665ef4b4ffab5d1b.tar.bz2 |
* config/tc-txvu.c (md_assemble): Handle no separator between
upper and lower insn #ifndef VERTICAL_BAR_SEPARATOR.
(assemble_insn): Likewise.
Diffstat (limited to 'gas/config/tc-txvu.c')
-rw-r--r-- | gas/config/tc-txvu.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/gas/config/tc-txvu.c b/gas/config/tc-txvu.c index 8d7937b..183a833 100644 --- a/gas/config/tc-txvu.c +++ b/gas/config/tc-txvu.c @@ -103,12 +103,13 @@ struct txvu_fixup #define MAX_FIXUPS 5 -static void assemble_insn PARAMS ((char *, int)); +static char * assemble_insn PARAMS ((char *, int)); void md_assemble (str) char *str; { +#ifdef VERTICAL_BAR_SEPARATOR char *p = strchr (str, '|'); if (p == NULL) @@ -121,12 +122,21 @@ md_assemble (str) assemble_insn (str, 0); *p = '|'; assemble_insn (p + 1, 1); +#else + str = assemble_insn (str, 0); + /* Don't assemble next one if we couldn't assemble the first. */ + if (str) + assemble_insn (str, 1); +#endif } /* Assemble one instruction. - LOWER_P is non-zero if assembling in the lower insn slot. */ + LOWER_P is non-zero if assembling in the lower insn slot. + The result is a pointer to beyond the end of the scanned insn. + If this is the upper insn, the caller can pass back to result to us + parse the lower insn. */ -static void +static char * assemble_insn (str, lower_p) char *str; int lower_p; @@ -368,7 +378,11 @@ assemble_insn (str, lower_p) while (isspace (*str)) ++str; - if (*str != '\0') + if (*str != '\0' +#ifndef VERTICAL_BAR_SEPARATOR + && lower_p +#endif + ) as_bad ("junk at end of line: `%s'", str); /* Write out the instruction. @@ -403,13 +417,14 @@ assemble_insn (str, lower_p) } /* All done. */ - return; + return str; } /* Try the next entry. */ } as_bad ("bad instruction `%s'", start); + return 0; } void |