summaryrefslogtreecommitdiff
path: root/gas/testsuite/gas/vtable/vtable.exp
blob: 5d14451524782e65cc954459eab655694bbc3371 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#
# 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*"]} then {


    # not supported by D30V
    if {[istarget "d30v-*-*"]} {
      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"

    }
}