+Mon Aug 14 16:03:07 1995 Ian Lance Taylor <ian@cygnus.com>
+
+ * gasp/mri/*: New tests.
+ * gasp/gasp.exp: Run them. Also, clean up the test names used in
+ pass and fail.
+
start-sanitize-sh3e
Sun Aug 13 00:39:24 1995 Jeff Law (law@snake.cs.utah.edu)
mdouble.asm
mdouble.err
mdouble.out
+mri
pl1.asm
pl1.err
pl1.out
+# Test gasp.
-
-proc gasp_test { testname } {
+proc gasp_test { filename testname opt } {
global GASP
global srcdir
-
- send_log "$srcdir/lib/run $GASP -s $testname.asm -o gasp.out \n"
- catch "exec $srcdir/lib/run $GASP -I$srcdir/gasp -s $testname.asm -o gasp.out" errs
- catch "exec diff gasp.out $testname.out" diffs
+
+ send_log "$srcdir/lib/run $GASP -I$srcdir/gasp -s $opt $filename.asm -o gasp.out\n"
+ catch "exec $srcdir/lib/run $GASP -I$srcdir/gasp -s $opt $filename.asm -o gasp.out" errs
+ catch "exec diff gasp.out $filename.out" diffs
if ![string match "" $diffs] {
send_log "$diffs\n"
verbose $diffs
fail $testname
- send_log "exec cat gasp.out"
return 0
} else {
pass $testname
}
-set testname "GASP"
-
foreach src [ lsort [ glob $srcdir/gasp/*.asm ] ] {
regsub -all ".asm" $src "" t
- gasp_test $t
+ regsub "^.*/(\[^/\]*)$" $t "gasp \\1" testname
+ gasp_test $t $testname ""
}
+foreach src [ lsort [ glob $srcdir/gasp/mri/*.asm ] ] {
+ regsub -all ".asm" $src "" t
+ regsub "^.*/(\[^/\]*)$" $t "gasp MRI \\1" testname
+ gasp_test $t $testname "-M"
+}
# FIXME: this is here cause of a bug in DejaGnu 1.1.1. When it is no longer
# in use, then this can be removed.
--- /dev/null
+# Sanitize.in for devo/gas/testsuite/gasp/mri.
+#
+
+# Each directory to survive it's way into a release will need a file
+# like this one called "./.Sanitize". All keyword lines must exist,
+# and must exist in the order specified by this file. Each directory
+# in the tree will be processed, top down, in the following order.
+
+# Hash started lines like this one are comments and will be deleted
+# before anything else is done. Blank lines will also be squashed
+# out.
+
+# The lines between the "Do-first:" line and the "Things-to-keep:"
+# line are executed as a /bin/sh shell script before anything else is
+# done in this
+
+Do-first:
+
+
+# All files listed between the "Things-to-keep:" line and the
+# "Files-to-sed:" line will be kept. All other files will be removed.
+# Directories listed in this section will have their own Sanitize
+# called. Directories not listed will be removed in their entirety
+# with rm -rf.
+
+Things-to-keep:
+
+embed.asm
+embed.out
+exists.asm
+exists.out
+irp.asm
+irp.out
+irpc.asm
+irpc.out
+macro.asm
+macro.out
+narg.asm
+narg.out
+rept.asm
+rept.out
+
+Things-to-lose:
+
+Do-last:
+
+# End of file.
--- /dev/null
+embed macro label
+addr&&label dc.l label
+ endm
+
+ embed foo
--- /dev/null
+!embed macro label
+!addr&&label dc.l label
+! endm
+!
+
+! embed foo
+!addrfoo dc.l foo
+addrfoo: dc.l foo
+!
\ No newline at end of file
--- /dev/null
+exists macro arg1,arg2
+ ifne ==arg2
+ move arg1,arg2
+ elsec
+ push arg1
+ endc
+ endm
+
+ exists foo,bar
+ exists foo
--- /dev/null
+!exists macro arg1,arg2
+! ifne ==arg2
+! move arg1,arg2
+! elsec
+! push arg1
+! endc
+! endm
+!
+
+! exists foo,bar
+! ifne -1
+! move foo,bar
+ move foo,bar
+! elsec
+! push foo
+! endc
+! exists foo
+! ifne 0
+! move foo,
+! elsec
+! push foo
+ push foo
+! endc
+!
\ No newline at end of file
--- /dev/null
+ irp param,arg1,arg2,arg3
+ dc.l param
+ endr
+ end quit
--- /dev/null
+! irp param,arg1,arg2,arg3
+! dc.l param
+! endr
+ dc.l arg1
+ dc.l arg2
+ dc.l arg3
+! end quit
+ end quit
--- /dev/null
+ irpc dummy,1234
+ dc.l dummy
+ endr
--- /dev/null
+! irpc dummy,1234
+! dc.l dummy
+! endr
+ dc.l 1
+ dc.l 2
+ dc.l 3
+ dc.l 4
+!
\ No newline at end of file
--- /dev/null
+get macro arg1,arg2,arg3
+ dc.l arg1
+ arg2
+arg3 dc.l \4
+ move.\0 d0,d1
+ endm
+
+ get.b 1,<dc.l 2>,label,four
--- /dev/null
+!get macro arg1,arg2,arg3
+! dc.l arg1
+! arg2
+!arg3 dc.l \4
+! move.\0 d0,d1
+! endm
+!
+
+! get.b 1,<dc.l 2>,label,four
+! dc.l 1
+ dc.l 1
+! dc.l 2
+ dc.l 2
+!label dc.l four
+label: dc.l four
+! move.b d0,d1
+ move.b d0,d1
+!
\ No newline at end of file
--- /dev/null
+loop macro arg1,arg2,arg3
+ dc.l NARG
+ ifne NARG
+ dc.l arg1
+ loop arg2,arg3
+ endc
+ endm
+
+ loop 1,2,3
--- /dev/null
+!loop macro arg1,arg2,arg3
+! dc.l NARG
+! ifne NARG
+! dc.l arg1
+! loop arg2,arg3
+! endc
+! endm
+!
+
+! loop 1,2,3
+! dc.l 3
+ dc.l 3
+! ifne 3
+! dc.l 1
+ dc.l 1
+! loop 2,3
+! dc.l 2
+ dc.l 2
+! ifne 2
+! dc.l 2
+ dc.l 2
+! loop 3,
+! dc.l 1
+ dc.l 1
+! ifne 1
+! dc.l 3
+ dc.l 3
+! loop ,
+! dc.l 0
+ dc.l 0
+! ifne 0
+! dc.l
+! loop ,
+! endc
+! endc
+! endc
+! endc
+!
\ No newline at end of file
--- /dev/null
+ rept 3
+ dc.l 1
+ endr
--- /dev/null
+! rept 3
+! dc.l 1
+! endr
+! dc.l 1
+ dc.l 1
+! REPT 2
+! dc.l 1
+! ENDR
+! dc.l 1
+ dc.l 1
+! REPT 1
+! dc.l 1
+! ENDR
+! dc.l 1
+ dc.l 1
+!
\ No newline at end of file