#
# MAXQ10 tests
#
proc gas_64_check { } {
    global NM
    global NMFLAGS

    set status [gas_host_run "$NM $NMFLAGS --help" ""]
    return [regexp "targets:.*maxq" [lindex $status 1]]
}

proc gas_32_check { } {
    global NM
    global NMFLAGS
    global srcdir

    set status [gas_host_run "$NM $NMFLAGS --help" ""]
    return [regexp "targets:.*maxq" [lindex $status 1]]
}

if [expr ([istarget "maxq-*-*"] ||  [istarget "maxq-coff-*"]) && [gas_32_check]]  then {

    global ASFLAGS
    set old_ASFLAGS "$ASFLAGS"
    set ASFLAGS "$ASFLAGS -MAXQ10"

    run_dump_test "range"
    run_dump_test "data3"
    run_dump_test "data2"
    run_dump_test "call"
    run_dump_test "jump"
    run_dump_test "logical"
    run_dump_test "math"
    run_dump_test "bits"

    set ASFLAGS "$old_ASFLAGS"
}

