#
# vtable tests
#
proc run_list_test { name opts } {
    global srcdir subdir
    set testname "vtable $name"
    set file $srcdir/$subdir/$name
    gas_run ${name}.s $opts ">&dump.out"
    if { [regexp_diff "dump.out" "${file}.l"] } then {
	fail $testname
	verbose "output is [file_contents "dump.out"]" 2
	return
    }
    pass $testname
}

# Vtable bits are only supported by ELF targets.
if { ([istarget "*-*-elf*"]		
      || [istarget "*-*-linux*"])
     && ![istarget *-*-linux*aout*]
     && ![istarget *-*-linux*oldld*] } then {

    # not supported by D30V
    if {[istarget "d30v-*-*"]} {
      return
    }

    # not yet supported by i960
    if {[istarget "i960-*-*"]} {
      return
    }

    run_dump_test "inherit0" 
    run_list_test "inherit1" "-al"

    # The vtable entry results are different on Rel and Rela targets.
    if {[istarget "i*86-*-*"] || [istarget "mips*-*-*"]} then {

	run_dump_test "entry0"

    } else {

	run_dump_test "entry1"

    }
}
