| Index: gdb/testsuite/gdb.cp/inherit.exp
|
| diff --git a/gdb/testsuite/gdb.cp/inherit.exp b/gdb/testsuite/gdb.cp/inherit.exp
|
| index c970d03bcbca72f0a38f3c03e5ff73c1cffddaab..fc5f2e28787f13b3fec37e21729c371ee4590583 100644
|
| --- a/gdb/testsuite/gdb.cp/inherit.exp
|
| +++ b/gdb/testsuite/gdb.cp/inherit.exp
|
| @@ -21,21 +21,14 @@ set ws "\[\r\n\t \]+"
|
| set nl "\[\r\n\]+"
|
| set vhn "\\$\[0-9\]+"
|
|
|
| -if $tracelevel then {
|
| - strace $tracelevel
|
| -}
|
| -
|
| if { [skip_cplus_tests] } { continue }
|
|
|
| load_lib "cp-support.exp"
|
|
|
| -set testfile "inherit"
|
| -set srcfile misc.cc
|
| -set binfile ${objdir}/${subdir}/${testfile}
|
| +standard_testfile misc.cc
|
|
|
| -if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}] != "" } {
|
| - untested inherit.exp
|
| - return -1
|
| +if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
|
| + return -1
|
| }
|
|
|
| # Single inheritance, print type definitions.
|
| @@ -325,25 +318,11 @@ proc test_print_mi_members {} {
|
|
|
| # Print all members of g_D.
|
| #
|
| - # g_D.A::a and g_D.A::x are ambiguous member accesses, and gdb
|
| - # should detect these. There are no ways to PASS these tests
|
| - # because I don't know what the gdb message will be. -- chastain
|
| - # 2004-01-27.
|
| -
|
| - set name "print g_D.A::a"
|
| - gdb_test_multiple "print g_D.A::a" $name {
|
| - -re "$vhn = (15|11)$nl$gdb_prompt $" {
|
| - kfail "gdb/68" "print g_D.A::a"
|
| - }
|
| - }
|
| -
|
| - set name "print g_D.A::x"
|
| - gdb_test_multiple "print g_D.A::x" $name {
|
| - -re "$vhn = (16|12)$nl$gdb_prompt $" {
|
| - kfail "gdb/68" "print g_D.A::x"
|
| - }
|
| - }
|
| -
|
| + # g_D.A::a and g_D.A::x are ambiguous member accesses.
|
| + gdb_test "print g_D.A::a" "base class 'A' is ambiguous in type 'D'"
|
| + gdb_test "print g_D.C::a" "$vhn = 15"
|
| + gdb_test "print g_D.B::a" "$vhn = 11"
|
| + gdb_test "print g_D.A::x" "base class 'A' is ambiguous in type 'D'"
|
| gdb_test "print g_D.B::b" "$vhn = 13"
|
| gdb_test "print g_D.B::x" "$vhn = 14"
|
| gdb_test "print g_D.C::c" "$vhn = 17"
|
| @@ -354,20 +333,8 @@ proc test_print_mi_members {} {
|
| # Print all members of g_E.
|
| # g_E.A::a and g_E.A::x are ambiguous.
|
|
|
| - set name "print g_E.A::a"
|
| - gdb_test_multiple "print g_E.A::a" $name {
|
| - -re "$vhn = (21|25)$nl$gdb_prompt $" {
|
| - kfail "gdb/68" "print g_E.A::a"
|
| - }
|
| - }
|
| -
|
| - set name "print g_E.A::x"
|
| - gdb_test_multiple "print g_E.A::x" $name {
|
| - -re "$vhn = (26|22)$nl$gdb_prompt $" {
|
| - kfail "gdb/68" "print g_E.A::x"
|
| - }
|
| - }
|
| -
|
| + gdb_test "print g_E.A::a" "base class 'A' is ambiguous in type 'E'"
|
| + gdb_test "print g_E.A::x" "base class 'A' is ambiguous in type 'E'"
|
| gdb_test "print g_E.B::b" "$vhn = 23"
|
| gdb_test "print g_E.B::x" "$vhn = 24"
|
| gdb_test "print g_E.C::c" "$vhn = 27"
|
| @@ -410,25 +377,10 @@ proc test_print_mi_member_types {} {
|
|
|
| # Print all members of g_D.
|
| #
|
| - # g_D.A::a and g_D.A::x are ambiguous member accesses, and gdb
|
| - # should detect these. There are no ways to PASS these tests
|
| - # because I don't know what the gdb message will be. -- chastain
|
| - # 2004-01-27.
|
| -
|
| - set name "ptype g_D.A::a"
|
| - gdb_test_multiple "ptype g_D.A::a" $name {
|
| - -re "type = int$nl$gdb_prompt $" {
|
| - kfail "gdb/68" "ptype g_D.A::a"
|
| - }
|
| - }
|
| -
|
| - set name "ptype g_D.A::x"
|
| - gdb_test_multiple "ptype g_D.A::x" $name {
|
| - -re "type = int$nl$gdb_prompt $" {
|
| - kfail "gdb/68" "ptype g_D.A::x"
|
| - }
|
| - }
|
| + # g_D.A::a and g_D.A::x are ambiguous member accesses.
|
|
|
| + gdb_test "ptype g_D.A::a" "base class 'A' is ambiguous in type 'D'"
|
| + gdb_test "ptype g_D.A::x" "base class 'A' is ambiguous in type 'D'"
|
| gdb_test "ptype g_D.B::b" "type = int"
|
| gdb_test "ptype g_D.B::x" "type = int"
|
| gdb_test "ptype g_D.C::c" "type = int"
|
| @@ -439,20 +391,8 @@ proc test_print_mi_member_types {} {
|
| # Print all members of g_E.
|
| # g_E.A::a and g_E.A::x are ambiguous.
|
|
|
| - set name "ptype g_E.A::a"
|
| - gdb_test_multiple "ptype g_E.A::a" $name {
|
| - -re "type = int$nl$gdb_prompt $" {
|
| - kfail "gdb/68" "ptype g_E.A::a"
|
| - }
|
| - }
|
| -
|
| - set name "ptype g_E.A::x"
|
| - gdb_test_multiple "ptype g_E.A::x" $name {
|
| - -re "type = int$nl$gdb_prompt $" {
|
| - kfail "gdb/68" "ptype g_E.A::x"
|
| - }
|
| - }
|
| -
|
| + gdb_test "ptype g_E.A::a" "base class 'A' is ambiguous in type 'E'"
|
| + gdb_test "ptype g_E.A::x" "base class 'A' is ambiguous in type 'E'"
|
| gdb_test "ptype g_E.B::b" "type = int"
|
| gdb_test "ptype g_E.B::x" "type = int"
|
| gdb_test "ptype g_E.C::c" "type = int"
|
| @@ -674,7 +614,7 @@ proc test_print_mvi_classes { } {
|
| # gcc 2.95.3 -gstabs+
|
| pass $name
|
| }
|
| - -re "$vhn = \{<vB> = \{<vA> = \{va = 19, vx = 20\}, $re_vbptr_3_vB = $hex, vb = 21, vx = 22\}, <vC> = \{$re_vbptr_3_vC = $hex, vc = 23, vx = 24\}, $re_vbptr_3_vD = $hex, vd = 25, vx = 26\}$nl$gdb_prompt $" {
|
| + -re "$vhn = \{<vB> = \{<vA> = \{va = 19, vx = 20\}, $re_vbptr_3_vB = ${hex}( <vtable for vD.*>)?, vb = 21, vx = 22\}, <vC> = \{$re_vbptr_3_vC = ${hex}( <vtable for vC.*>)?, vc = 23, vx = 24\}, $re_vbptr_3_vD = ${hex}( <vtable for vD.*>)?, vd = 25, vx = 26\}$nl$gdb_prompt $" {
|
| # gcc 3.3.2 -gdwarf-2
|
| # gcc HEAD 2004-01-21 -gdwarf-2
|
| # gcc HEAD 2004-01-21 -gstabs+
|
| @@ -695,7 +635,7 @@ proc test_print_mvi_classes { } {
|
| # gcc 2.95.3 -gstabs+
|
| pass $name
|
| }
|
| - -re "$vhn = \{<vD> = \{<vB> = \{<vA> = \{va = 0, vx = 0\}, $re_vbptr_3_vB = $hex, vb = 0, vx = 0\}, <vC> = \{$re_vbptr_3_vC = $hex, vc = 0, vx = 0\}, $re_vbptr_3_vD = $hex, vd = 0, vx = 0\}, $re_vbptr_3_vE = $hex, ve = 27, vx = 28\}$nl$gdb_prompt $" {
|
| + -re "$vhn = \{<vD> = \{<vB> = \{<vA> = \{va = 0, vx = 0\}, $re_vbptr_3_vB = ${hex}( <vtable for vE.*>)?, vb = 0, vx = 0\}, <vC> = \{$re_vbptr_3_vC = ${hex}( <vtable for vE.*>)?, vc = 0, vx = 0\}, $re_vbptr_3_vD = ${hex}( <vtable for vE.*>)?, vd = 0, vx = 0\}, $re_vbptr_3_vE = ${hex}( <vtable for vE.*>)?, ve = 27, vx = 28\}$nl$gdb_prompt $" {
|
| # gcc 3.3.4 -gdwarf-2
|
| # gcc 3.3.4 -gstabs+
|
| # gcc 3.4.1 -gdwarf-2
|
| @@ -715,19 +655,6 @@ proc test_print_mvi_classes { } {
|
| }
|
|
|
| proc do_tests { } {
|
| - global subdir
|
| - global objdir
|
| - global srcdir
|
| - global binfile
|
| -
|
| -
|
| - # Start with a fresh gdb.
|
| -
|
| - gdb_exit
|
| - gdb_start
|
| - gdb_reinitialize_dir $srcdir/$subdir
|
| - gdb_load $binfile
|
| -
|
| gdb_test_no_output "set width 0"
|
|
|
| if { ![runto_main] } then {
|
|
|