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
# C30 counts a four byte offset as a difference of one.
-if { ![istarget hppa*-*-*]
- && ![istarget *c30*-*-*] && ![istarget *c54x*-*-*] } then {
+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 "h8300*-*-elf*" "mn10200*-*-*" "mn10300*-*-*" "vax*-*-vms*"
# These directives are done in the c54x-specific tests instead
case $target_triplet in {
{ hppa*-*-* } { }
+ { *c4x*-*-* } { }
{ *c54x*-*-* } { }
default {
run_dump_test struct
}
}
+# '<' 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 { [lindex [gas_run excl.s "-o /dev/null" ""] 0] eq "" } {
+ 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*] \
# again, p2align doesn't work on c54x target
case $target_triplet in {
{ hppa*-*-* } { }
+ { *c4x*-*-* } { }
{ *c54x*-*-* } { }
default {
test_cond