* gas/all/gas.exp: Run dg-runtest for all err-*.s and warn-*.s.
[external/binutils.git] / gas / testsuite / gas / all / gas.exp
index 8720665..966c112 100644 (file)
@@ -24,7 +24,7 @@ if { [istarget hppa*-*-*] || [istarget *c54x*-*-*] } then {
 }
 
 # No floating point support in assembly code for CRIS.
-if ![istarget cris-*-*] then {
+if { ![istarget cris-*-*] && ![istarget crisv32-*-*] } then {
     gas_test "float.s" ""   "" "simple FP constants"
 }
 
@@ -85,17 +85,19 @@ proc do_930509a {} {
     if !$x then { fail $testname }
 }
 
-# This test is meaningless for the PA; the difference of two symbols
+# This test is meaningless for the PA and CRX; the difference of two symbols
 # must not be resolved by the assembler.
 # C54x assembler (for compatibility) does not allow differences between
 # forward references
-if { ![istarget hppa*-*-*] && ![istarget *c54x*-*-*] } then {
+# C30 counts a four byte offset as a difference of one.
+if { ![istarget hppa*-*-*] &&
+     ![istarget  crx*-*-*] &&
+     ![istarget *c30*-*-*] &&
+     ![istarget *c4x*-*-*] &&
+     ![istarget *c54x*-*-*] } then {
     # the vax fails because VMS can apparently actually handle this
     # case in relocs, so gas doesn't handle it itself.
-    setup_xfail "vax*-*-vms*"
-    setup_xfail "mn10300*-*-*"
-    setup_xfail "mn10200*-*-*"
-    setup_xfail "h8300*-*-elf*"
+    setup_xfail "h8300*-*-elf*" "mn10200*-*-*" "mn10300*-*-*" "vax*-*-vms*"
     do_930509a
 }
 
@@ -103,6 +105,7 @@ if { ![istarget hppa*-*-*] && ![istarget *c54x*-*-*] } then {
 # These directives are done in the c54x-specific tests instead
 case $target_triplet in {
     { hppa*-*-* } { }
+    { *c4x*-*-* } { }
     { *c54x*-*-* } { }
     default {
        run_dump_test struct
@@ -111,12 +114,31 @@ case $target_triplet in {
     }
 }
 
+# '<' and '>' appear to have special meanings on the excluded targets
+case $target_triplet in {
+    { a29k-*-* } { }
+    { frv-*-* } { }
+    { hppa*-*-* } { }
+    { m32r-*-* } { }
+    { mmix-*-* } { }
+    { *c4x*-*-* } { }
+    { *c54x*-*-* } { }
+    default {
+       run_dump_test altmacro
+       # The second test is valid only when '!' is not a comment
+       # character (it is allowed to be a line comment character).
+       if [string match "" [lindex [gas_run excl.s "-o /dev/null" ""] 0]] {
+           run_dump_test altmac2
+       }
+    }
+}
+
 # This test is for any COFF target.
 # We omit m88k COFF because it uses weird pseudo-op names.
 # We omit the ARM toolchains because they define locals to
 #  start with '.', which eliminates .eos, .text etc from the output.
 # Omit c54x, since .tag and .def mean something different on that target
-if {   ([istarget *-*-coff*] && ![istarget m88*-*-*] && ![istarget *arm*-*-coff] && ![istarget thumb*-*-coff] && ![istarget xscale-*-coff] && ![istarget *c54x*-*-coff]) \
+if {   ([istarget *-*-coff*] && ![istarget m88*-*-*] && ![istarget *arm*-*-coff] && ![istarget thumb*-*-coff] && ![istarget xscale-*-coff] && ![istarget *c4x*-*-coff] && ![istarget *c54x*-*-coff]) \
      ||([istarget *-*-pe*] && ![istarget arm*-*-pe*] && ![istarget thumb*-*-pe*]) \
      || [istarget a29k-*-udi*] \
      || [istarget a29k-*-ebmon*] \
@@ -159,6 +181,7 @@ proc test_cond {} {
 # again, p2align doesn't work on c54x target
 case $target_triplet in {
     { hppa*-*-* } { }
+    { *c4x*-*-* } { }
     { *c54x*-*-* } { }
     default {
         test_cond
@@ -166,8 +189,13 @@ case $target_triplet in {
     }
 }
 
-# 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.
-if [info exists errorInfo] then {
-    unset errorInfo
+if {   [istarget "i*86-*-*pe*"] \
+    || [istarget "i*86-*-cygwin*"] \
+    || [istarget "i*86-*-mingw32*"] } {
+  gas_test "fastcall.s" ""   "" "fastcall labels"
 }
+
+load_lib gas-dg.exp
+dg-init
+dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/err-*.s $srcdir/$subdir/warn-*.s]] "" ""
+dg-finish