diff options
author | Freya Murphy <freya@freyacat.org> | 2024-09-30 10:55:10 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2024-09-30 10:55:10 -0400 |
commit | 33138944c5fa3037d1c220687daf072b0c6809b3 (patch) | |
tree | c0ba21fd42ab6b0a63f20472e57212fe83e74f01 /masm/parse.c | |
parent | symtab never return null symbol (diff) | |
download | mips-33138944c5fa3037d1c220687daf072b0c6809b3.tar.gz mips-33138944c5fa3037d1c220687daf072b0c6809b3.tar.bz2 mips-33138944c5fa3037d1c220687daf072b0c6809b3.zip |
fix masm parser
Diffstat (limited to '')
-rw-r--r-- | masm/parse.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/masm/parse.c b/masm/parse.c index 2e404ad..3cbe305 100644 --- a/masm/parse.c +++ b/masm/parse.c @@ -916,13 +916,14 @@ static int parse_pseudo_instruction(struct parser *parser, else CHK(move) res = parse_pseudo_move(parser, expr); - if (res) + if (res) { + // reset on fail lexer_load(parser->lexer, &state); - - expr->ins[0].data.raw = 0; - expr->ins[1].data.raw = 0; - expr->ref[0] = (struct reference) {0}; - expr->ref[1] = (struct reference) {0}; + expr->ins[0].data.raw = 0; + expr->ins[1].data.raw = 0; + expr->ref[0] = (struct reference) {0}; + expr->ref[1] = (struct reference) {0}; + } log_disabled = 0; return res; |