* gas/arm/armv1-bad.s gas/arm/armv1-bad.l: New files.

* gas/arm/arm.exp (run_error_test): New proc.
(armv1-bad): New error test.
This commit is contained in:
Richard Earnshaw 2002-01-14 15:00:18 +00:00
parent 1209e219c7
commit 2ad6300c8e
4 changed files with 39 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2002-01-14 Richard Earnshaw <rearnsha@arm.com>
* gas/arm/armv1-bad.s gas/arm/armv1-bad.l: New files.
* gas/arm/arm.exp (run_error_test): New proc.
(armv1-bad): New error test.
2002-01-11 Richard Earnshaw <rearnsha@arm.com>
* gas/arm/ldconst.s gas/arm/ldconst.d: New files. Test ldr with

View File

@ -1,11 +1,26 @@
#
# Some ARM tests
#
proc run_errors_test { name opts tname} {
global srcdir subdir
set testname "$tname"
set file $srcdir/$subdir/$name
gas_run ${name}.s $opts ">&${name}.out"
if { [regexp_diff "${name}.out" "${file}.l"] } then {
fail $testname
verbose "output is [file_contents "${name}.out"]" 2
return
}
pass $testname
}
if {[istarget *arm*-*-*] || [istarget "xscale-*-*"]} then {
run_dump_test "inst"
run_dump_test "ldconst"
run_errors_test "armv1-bad" "-marm1" "ARM v1 errors"
gas_test "arm3.s" "-marm3" $stdoptlist "Arm 3 instructions"
gas_test "arm6.s" "-marm6" $stdoptlist "Arm 6 instructions"

View File

@ -0,0 +1,8 @@
[^:]*: Assembler messages:
[^:]*:4: Error: invalid pseudo operation -- `str r0,=0x00ff0000'
[^:]*:5: Error: bad expression -- `ldr r0,{r1}'
[^:]*:6: Error: address offset too large -- `ldr r0,\[r1,#4096\]'
[^:]*:7: Error: address offset too large -- `ldr r0,\[r1,#-4096\]'
[^:]*:8: Error: invalid constant -- `mov r0,#0x1ff'
[^:]*:9: Error: bad instruction `cmpl r0,r0'
[^:]*:10: Error: selected processor does not support `strh r0,\[r1\]'

View File

@ -0,0 +1,10 @@
.global entry
.text
entry:
str r0, =0x00ff0000
ldr r0, {r1}
ldr r0, [r1, #4096]
ldr r0, [r1, #-4096]
mov r0, #0x1ff
cmpl r0, r0
strh r0, [r1]