From: Ian Lance Taylor Date: Tue, 17 Dec 1996 16:00:55 +0000 (+0000) Subject: * config/tc-mips.c (mips16_ip): Check for a missing expression X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c0dea4956d5e53f80c9d3a35b6c7a42532f0fb35;p=binutils-gdb.git * config/tc-mips.c (mips16_ip): Check for a missing expression when using the register indirect addressing mode. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 2de7a953592..7511b4df85d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +Tue Dec 17 10:59:32 1996 Ian Lance Taylor + + * config/tc-mips.c (mips16_ip): Check for a missing expression + when using the register indirect addressing mode. + Mon Dec 16 10:08:46 1996 Jeffrey A Law (law@cygnus.com) * config/tc-mn10200.c (mn10200_insert_operand): Don't diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 13f284fe095..0b1b5c945aa 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -7010,6 +7010,17 @@ mips16_ip (str, ip) /* Looks like a register name. */ break; } + + if (s[0] == '(' + && args[1] == '(' + && s[1] == '$') + { + /* It looks like the expression was omitted before a + register indirection, which means that the + expression is implicitly zero. */ + continue; + } + my_getExpression (&imm_expr, s); /* We need to relax this instruction. */ imm_reloc = (int) BFD_RELOC_UNUSED + c;