From 791346475b25f49cd5ad332425ff39cce0c79e63 Mon Sep 17 00:00:00 2001 From: Paul Brook Date: Tue, 31 Jan 2006 16:19:41 +0000 Subject: [PATCH] 2006-01-31 Paul Brook gas/ * config/tc-arm.c (arm_reg_parse): Check if reg is non-NULL. gas/testsuite/ * gas/testsuite/gas/arm/iwmmxt-bad.s: Add check for bad register name. * gas/testsuite/gas/arm/iwmmxt-bad.l: Ditto. --- gas/ChangeLog | 4 ++++ gas/config/tc-arm.c | 4 ++-- gas/testsuite/ChangeLog | 5 +++++ gas/testsuite/gas/arm/iwmmxt-bad.l | 1 + gas/testsuite/gas/arm/iwmmxt-bad.s | 1 + 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 73da5bf..4da5073 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,4 +1,8 @@ 2006-01-31 Paul Brook + + * config/tc-arm.c (arm_reg_parse): Check if reg is non-NULL. + +2006-01-31 Paul Brook Richard Earnshaw * config/tc-arm.c: Use arm_feature_set. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index b010a0a..dc315c0 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -928,7 +928,7 @@ arm_reg_parse (char **ccp, enum arm_reg_type type) case REG_TYPE_MVFX: case REG_TYPE_MVDX: /* Generic coprocessor register names are allowed for these. */ - if (reg->type == REG_TYPE_CN) + if (reg && reg->type == REG_TYPE_CN) return reg->number; break; @@ -943,7 +943,7 @@ arm_reg_parse (char **ccp, enum arm_reg_type type) case REG_TYPE_MMXWC: /* WC includes WCG. ??? I'm not sure this is true for all instructions that take WC registers. */ - if (reg->type == REG_TYPE_MMXWCG) + if (reg && reg->type == REG_TYPE_MMXWCG) return reg->number; break; diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 7d10bfa..f2e907f 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-01-31 Paul Brook + + * gas/testsuite/gas/arm/iwmmxt-bad.s: Add check for bad register name. + * gas/testsuite/gas/arm/iwmmxt-bad.l: Ditto. + 2006-01-18 Arnold Metselaar * gas/z80/z80.exp: Add offset. diff --git a/gas/testsuite/gas/arm/iwmmxt-bad.l b/gas/testsuite/gas/arm/iwmmxt-bad.l index 962bc46..6588938 100644 --- a/gas/testsuite/gas/arm/iwmmxt-bad.l +++ b/gas/testsuite/gas/arm/iwmmxt-bad.l @@ -7,3 +7,4 @@ [^:]*:6: Error: iWMMXt data register expected -- `wstrb wcgr0,\[r1\]' [^:]*:7: Error: iWMMXt data register expected -- `wstrh wcgr0,\[r1\]' [^:]*:8: Error: iWMMXt data register expected -- `wstrd wcgr0,\[r1\]' +[^:]*:9: Error: iWMMXt control register expected -- `tmcr wibble,r1' diff --git a/gas/testsuite/gas/arm/iwmmxt-bad.s b/gas/testsuite/gas/arm/iwmmxt-bad.s index 0c30af1..47d8d71 100644 --- a/gas/testsuite/gas/arm/iwmmxt-bad.s +++ b/gas/testsuite/gas/arm/iwmmxt-bad.s @@ -6,3 +6,4 @@ wstrb wcgr0,[r1] wstrh wcgr0,[r1] wstrd wcgr0,[r1] + tmcr wibble,r1 -- 2.7.4