aboutsummaryrefslogtreecommitdiff
path: root/sim/igen/ld-insn.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>1998-04-14 04:24:47 +0000
committerAndrew Cagney <cagney@redhat.com>1998-04-14 04:24:47 +0000
commit13eaae2fd07512516eec601d4a3ab78bf9af34ec (patch)
tree8f02808aa26af8b863a1a0307c294a0959ce595b /sim/igen/ld-insn.c
parent937ac38a3b7aaa0296b6a98defa3be75bed896ad (diff)
downloadgdb-13eaae2fd07512516eec601d4a3ab78bf9af34ec.zip
gdb-13eaae2fd07512516eec601d4a3ab78bf9af34ec.tar.gz
gdb-13eaae2fd07512516eec601d4a3ab78bf9af34ec.tar.bz2
Broke parsing of !<val>!<val> when adding support for =<field>. Fix.
Add support for the -S<suffix> option.
Diffstat (limited to 'sim/igen/ld-insn.c')
-rw-r--r--sim/igen/ld-insn.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/sim/igen/ld-insn.c b/sim/igen/ld-insn.c
index 2fc6cf3..7fc0e37 100644
--- a/sim/igen/ld-insn.c
+++ b/sim/igen/ld-insn.c
@@ -125,7 +125,6 @@ parse_insn_word (line_ref *line,
char *end;
int len;
insn_field_cond *new_cond = ZALLOC (insn_field_cond);
- insn_field_cond **last;
/* determine the conditional test */
switch (*chp)
@@ -144,7 +143,7 @@ parse_insn_word (line_ref *line,
chp++;
chp = skip_spaces (chp);
start = chp;
- chp = skip_to_separator (chp, "+,:");
+ chp = skip_to_separator (chp, "+,:!=");
end = back_spaces (start, chp);
len = end - start;
if (len == 0)
@@ -174,10 +173,12 @@ parse_insn_word (line_ref *line,
error (line, "Only single conditional when `=' allowed\n");
/* insert it */
- last = &new_field->conditions;
- while (*last != NULL)
- last = &(*last)->next;
- *last = new_cond;
+ {
+ insn_field_cond **last = &new_field->conditions;
+ while (*last != NULL)
+ last = &(*last)->next;
+ *last = new_cond;
+ }
}
/* NOW verify that the field was finished */