aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2006-08-03 15:59:00 +0000
committerJoseph Myers <joseph@codesourcery.com>2006-08-03 15:59:00 +0000
commit97f87066f657fc69b80af6f551964d7a3e80d054 (patch)
tree7988770569a1c015f39b585c3ea43ba4d2ae44a4 /gas/config
parent41adaa5cabcfd29c6551e63f7433621495c4d7e0 (diff)
downloadgdb-97f87066f657fc69b80af6f551964d7a3e80d054.zip
gdb-97f87066f657fc69b80af6f551964d7a3e80d054.tar.gz
gdb-97f87066f657fc69b80af6f551964d7a3e80d054.tar.bz2
gas:
* config/tc-arm.c (parse_operands): Handle invalid register name for OP_RIWR_RIWC. gas/testsuite: * gas/arm/iwmmxt-bad.s: Test invalid register names for wldrw and wstrw. * gas/arm/iwmmxt-bad.l: Update.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-arm.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 408d95f..9bf1439 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -5749,9 +5749,10 @@ parse_operands (char *str, const unsigned char *pattern)
case OP_RIWR_RIWC:
{
struct reg_entry *rege = arm_reg_parse_multi (&str);
- if (rege->type != REG_TYPE_MMXWR
- && rege->type != REG_TYPE_MMXWC
- && rege->type != REG_TYPE_MMXWCG)
+ if (!rege
+ || (rege->type != REG_TYPE_MMXWR
+ && rege->type != REG_TYPE_MMXWC
+ && rege->type != REG_TYPE_MMXWCG))
{
inst.error = _("iWMMXt data or control register expected");
goto failure;