⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inherit.exp

📁 lwip在ucos上的移植
💻 EXP
📖 第 1 页 / 共 3 页
字号:
	}	-re ".* = 15$nl$gdb_prompt $" {	    fail "print g_D.A::a (FIXME)"	}	-re ".* = 11$nl$gdb_prompt $" {	    fail "print g_D.A::a (FIXME)"	}	-re ".*$gdb_prompt $" { fail "print g_D.A::a" }	timeout { fail "print g_D.A::a (timeout)" ; return }    }    # The following is ambiguous, and gdb should detect this.    # For now, accept gdb's behavior as an expected failure if it    # simply prints either member correctly.    if {!$hp_aCC_compiler} {setup_xfail "*-*-*"}    send_gdb "print g_D.A::x\n"    gdb_expect {	-re "warning: A ambiguous; using D::C::A. Use a cast to disambiguate.$nl\\$\[0-9\]* = 16$nl$gdb_prompt $" {	    pass "print g_D.A::x"	}	-re "warning: A ambiguous; using D::B::A. Use a cast to disambiguate.$nl\\$\[0-9\]* = 12$nl$gdb_prompt $" {	    pass "print g_D.A::x (using B)"	}	-re ".* = 16$nl$gdb_prompt $" {	    fail "print g_D.A::x (FIXME)"	}	-re ".* = 12$nl$gdb_prompt $" {	    fail "print g_D.A::x (FIXME)"	}	-re ".*$gdb_prompt $" { fail "print g_D.A::x" }	timeout { fail "print g_D.A::x (timeout)" ; return }    }    gdb_test "print g_D.B::b" ".* = 13" "print g_D.B::b"    gdb_test "print g_D.B::x" ".* = 14" "print g_D.B::x"    setup_xfail_format "DWARF 1"    gdb_test "print g_D.C::c" ".* = 17" "print g_D.C::c"    setup_xfail_format "DWARF 1"    gdb_test "print g_D.C::x" ".* = 18" "print g_D.C::x"    gdb_test "print g_D.D::d" ".* = 19" "print g_D.D::d"    gdb_test "print g_D.D::x" ".* = 20" "print g_D.D::x"    # Print all members of g_E.    # The following is ambiguous, and gdb should detect this.    # For now, accept gdb's behavior as an expected failure if it    # simply prints either member correctly.    setup_xfail "*-*-*"    send_gdb "print g_E.A::a\n"    gdb_expect {	-re ".* = 21$nl$gdb_prompt $" {	    fail "print g_E.A::a (FIXME)"	}	-re ".* = 25$nl$gdb_prompt $" {	    fail "print g_E.A::a (FIXME)"	}	-re ".*$gdb_prompt $" { fail "print g_E.A::a" }	timeout { fail "print g_E.A::a (timeout)" ; return }    }    # The following is ambiguous, and gdb should detect this.    # For now, accept gdb's behavior as an expected failure if it    # simply prints either member correctly.    if {!$hp_aCC_compiler} {setup_xfail "*-*-*"}    send_gdb "print g_E.A::x\n"    gdb_expect {	-re "warning: A ambiguous; using E::D::C::A. Use a cast to disambiguate.$nl\\$\[0-9\]* = 26$nl$gdb_prompt $" {	    pass "print g_E.A::x"	}	-re "warning: A ambiguous; using E::D::B::A. Use a cast to disambiguate.$nl\\$\[0-9\]* = 22$nl$gdb_prompt $" {	    pass "print g_E.A::x (using B)"	}	-re ".* = 26$nl$gdb_prompt $" {	    fail "print g_E.A::x (FIXME)"	}	-re ".* = 22$nl$gdb_prompt $" {	    fail "print g_E.A::x (FIXME)"	}	-re ".*$gdb_prompt $" { fail "print g_E.A::x" }	timeout { fail "print g_E.A::x (timeout)" ; return }    }    gdb_test "print g_E.B::b" ".* = 23" "print g_E.B::b"    gdb_test "print g_E.B::x" ".* = 24" "print g_E.B::x"    setup_xfail_format "DWARF 1"    gdb_test "print g_E.C::c" ".* = 27" "print g_E.C::c"    setup_xfail_format "DWARF 1"    gdb_test "print g_E.C::x" ".* = 28" "print g_E.C::x"    gdb_test "print g_E.D::d" ".* = 29" "print g_E.D::d"    gdb_test "print g_E.D::x" ".* = 30" "print g_E.D::x"    gdb_test "print g_E.E::e" ".* = 31" "print g_E.E::e"    gdb_test "print g_E.E::x" ".* = 32" "print g_E.E::x"}## Multiple inheritance, print type definitions.#proc test_ptype_mi {} {    global nl    setup_xfail_format "DWARF 1"    gdb_test "ptype D" "type = class D : public B, public C \{$nl\[ \]*public:$nl\[ \]*int d;$nl\[ \]*int x;$nl.*\}" "ptype D"    setup_xfail_format "DWARF 1"    gdb_test "ptype class D" "type = class D : public B, public C \{$nl\[ \]*public:$nl\[ \]*int d;$nl\[ \]*int x;$nl.*\}" "ptype class D"    setup_xfail_format "DWARF 1"    gdb_test "ptype g_D" "type = class D : public B, public C \{$nl\[ \]*public:$nl\[ \]*int d;$nl\[ \]*int x;$nl.*\}" "ptype g_D"    setup_xfail_format "DWARF 1"    gdb_test "ptype E" "type = class E : public D \{$nl\[ \]*public:$nl\[ \]*int e;$nl\[ \]*int x;$nl.*\}" "ptype E"    setup_xfail_format "DWARF 1"    gdb_test "ptype class E" "type = class E : public D \{$nl\[ \]*public:$nl\[ \]*int e;$nl\[ \]*int x;$nl.*\}" "ptype class E"    setup_xfail_format "DWARF 1"    gdb_test "ptype g_E" "type = class E : public D \{$nl\[ \]*public:$nl\[ \]*int e;$nl\[ \]*int x;$nl.*\}" "ptype g_E"}## Multiple inheritance, print complete classes.#proc test_print_mi_classes {} {    # Print all members of g_D.    setup_xfail_format "DWARF 1"    gdb_test "print g_D" ".* = \{\<(class |)B\> = \{\<(class |)A\> = \{a = 11, x = 12\}, b = 13, x = 14\}, \<(class |)C\> = \{\<(class |)A\> = \{a = 15, x = 16\}, c = 17, x = 18\}, d = 19, x = 20\}" "print g_D"    # Print all members of g_E.    setup_xfail_format "DWARF 1"    gdb_test "print g_E" ".* = \{\<(class |)D\> = \{\<(class |)B\> = \{\<(class |)A\> = \{a = 21, x = 22\}, b = 23, x = 24\}, \<(class |)C\> = \{\<(class |)A\> = \{a = 25, x = 26\}, c = 27, x = 28\}, d = 29, x = 30\}, e = 31, x = 32\}" "print g_E"}## Single virtual inheritance, print individual members.#proc test_print_svi_members {} {    global gdb_prompt    global decimal    global nl    # Print all members of g_vA.    gdb_test "print g_vA.vA::va" ".* = 1" "print g_vA.vA::va"    gdb_test "print g_vA.vA::vx" ".* = 2" "print g_vA.vA::vx"    # Print members of g_vA using compact form.    gdb_test "print g_vA.va" ".* = 1" "print g_vA.va"    gdb_test "print g_vA.vx" ".* = 2" "print g_vA.vx"    # Print all members of g_vB.    setup_xfail_format "DWARF 1"    send_gdb "print g_vB.vA::va\n"    gdb_expect {	-re ".* = 3$nl$gdb_prompt $" { pass "print g_vB.vA::va" }	-re ".*virtual baseclass botch.*$gdb_prompt $" {	    # Does not happen with gcc cygnus-2.4.5-930828	    fail "print g_vB.vA::va (known bug with gcc cygnus-2.4.5-930417)"	    # Many of the rest of these tests have the same problem.	    return 0	}	-re ".*$gdb_prompt $" { fail "print g_vB.vA::va" }	timeout { fail "print g_vB.vA::va (timeout)" ; return }    }    setup_xfail_format "DWARF 1"    gdb_test "print g_vB.vA::vx" ".* = 4" "print g_vB.vA::vx"    gdb_test "print g_vB.vB::vb" ".* = 5" "print g_vB.vB::vb"    gdb_test "print g_vB.vB::vx" ".* = 6" "print g_vB.vB::vx"    # Print members of g_vB using compact form.    setup_xfail_format "DWARF 1"    gdb_test "print g_vB.va" ".* = 3" "print g_vB.va"    gdb_test "print g_vB.vb" ".* = 5" "print g_vB.vb"    gdb_test "print g_vB.vx" ".* = 6" "print g_vB.vx"    # Print all members of g_vC.    setup_xfail_format "DWARF 1"    gdb_test "print g_vC.vA::va" ".* = 7" "print g_vC.vA::va"    setup_xfail_format "DWARF 1"    gdb_test "print g_vC.vA::vx" ".* = 8" "print g_vC.vA::vx"    gdb_test "print g_vC.vC::vc" ".* = 9" "print g_vC.vC::vc"    gdb_test "print g_vC.vC::vx" ".* = 10" "print g_vC.vC::vx"    # Print members of g_vC using compact form.    setup_xfail_format "DWARF 1"    gdb_test "print g_vC.va" ".* = 7" "print g_vC.va"    gdb_test "print g_vC.vc" ".* = 9" "print g_vC.vc"    gdb_test "print g_vC.vx" ".* = 10" "print g_vC.vx"}## Single virtual inheritance, print type definitions.#proc test_ptype_vi {} {    global gdb_prompt    global ws    global nl    global vbptr    # This class does not use any C++-specific features, so it's fine for    # it to print as "struct".    send_gdb "ptype vA\n"    gdb_expect {	-re "type = class vA \{$nl\[ \]*public:$nl\[ \]*int va;$nl\[ \]*int vx;$nl.*\}$nl$gdb_prompt $" {	    pass "ptype vA"	}	-re "type = struct vA \{$nl\[ \]*int va;$nl\[ \]*int vx;$nl\}$nl$gdb_prompt $" {	    pass "ptype vA"	}	-re ".*$gdb_prompt $" { fail "ptype vA" }	timeout { fail "ptype vA (timeout)" ; return }    }    # This class does not use any C++-specific features, so it's fine for    # it to print as "struct".    send_gdb "ptype class vA\n"    gdb_expect {	-re "type = class vA \{$nl\[ \]*public:$nl\[ \]*int va;$nl\[ \]*int vx;$nl.*\}$nl$gdb_prompt $" {	    pass "ptype class vA"	}	-re "type = struct vA \{$nl\[ \]*int va;$nl\[ \]*int vx;$nl\}$nl$gdb_prompt $" {	    pass "ptype class vA"	}	-re ".*$gdb_prompt $" { fail "ptype class vA" }	timeout { fail "ptype class vA (timeout)" ; return }    }    # This class does not use any C++-specific features, so it's fine for    # it to print as "struct".    send_gdb "ptype g_vA\n"    gdb_expect {	-re "type = class vA \{$nl\[ \]*public:$nl\[ \]*int va;$nl\[ \]*int vx;$nl.*\}$nl$gdb_prompt $" {	    pass "ptype g_vA"	}	-re "type = struct vA \{$nl\[ \]*int va;$nl\[ \]*int vx;$nl\}$nl$gdb_prompt $" {	    pass "ptype g_vA"	}	-re ".*$gdb_prompt $" { fail "ptype g_vA" }	timeout { fail "ptype g_vA (timeout)" ; return }    }    setup_xfail_format "DWARF 1"    send_gdb "ptype vB\n"    gdb_expect {	-re "ptype vB${nl}type = class vB : public virtual vA \{$nl  private:${ws}vA \\*${vbptr}vA;$nl  public:${ws}int vb;${ws}int vx;$nl.*\}$nl$gdb_prompt $" {	    pass "ptype vB"	}	-re "ptype vB${nl}type = class vB : public virtual vA \{$nl  public:${ws}int vb;${ws}int vx;$nl.*\}$nl$gdb_prompt $" {	    pass "ptype vB (aCC)"	}	-re ".*$gdb_prompt $" { fail "ptype vB" }	timeout { fail "ptype vB (timeout)" }    }    setup_xfail_format "DWARF 1"    send_gdb "ptype class vB\n"    gdb_expect {	-re "type = class vB : public virtual vA \{$nl\[ \]*private:$nl\[ \]*vA \\*${vbptr}vA;$nl\[ \]*public:$nl\[ \]*int vb;$nl\[ \]*int vx;$nl.*\}$nl$gdb_prompt $" {	    pass "ptype class vB"	}	-re "type = class vB : public virtual vA \{$nl\[ \]*public:$nl\[ \]*int vb;$nl\[ \]*int vx;$nl.*\}$nl$gdb_prompt $" {	    pass "ptype class vB (aCC)"	}	-re ".*$gdb_prompt $" { fail "ptype class vB" }	timeout { fail "ptype class vB (timeout)" }    }    setup_xfail_format "DWARF 1"    send_gdb "ptype g_vB\n"    gdb_expect {	-re "type = class vB : public virtual vA \{$nl\[ \]*private:$nl\[ \]*vA \\*${vbptr}vA;$nl\[ \]*public:$nl\[ \]*int vb;$nl\[ \]*int vx;$nl.*\}$nl$gdb_prompt $" {	    pass "ptype g_vB"	}	-re "type = class vB : public virtual vA \{$nl\[ \]*public:$nl\[ \]*int vb;$nl\[ \]*int vx;$nl.*\}$nl$gdb_prompt $" {	    pass "ptype g_vB (aCC)"	}	-re ".*$gdb_prompt $" { fail "ptype g_vB" }	timeout { fail "ptype g_vB (timeout)" }    }    setup_xfail_format "DWARF 1"    send_gdb "ptype vC\n"    gdb_expect {	-re "type = class vC : public virtual vA \{$nl\[ \]*private:$nl\[ \]*vA \\*${vbptr}vA;$nl\[ \]*public:$nl\[ \]*int vc;$nl\[ \]*int vx;$nl.*\}$nl$gdb_prompt $" {            pass "ptype vC"	}	-re "type = class vC : public virtual vA \{$nl\[ \]*public:$nl\[ \]*int vc;$nl\[ \]*int vx;$nl.*\}$nl$gdb_prompt $" {            pass "ptype vC (aCC)"	}	-re ".*$gdb_prompt $" { fail "ptype vC" }	timeout { fail "ptype vC (timeout)" }    }    setup_xfail_format "DWARF 1"    send_gdb "ptype class vC\n"    gdb_expect {	-re "type = class vC : public virtual vA \{$nl\[ \]*private:$nl\[ \]*vA \\*${vbptr}vA;$nl\[ \]*public:$nl\[ \]*int vc;$nl\[ \]*int vx;$nl.*\}$nl$gdb_prompt $" {            pass "ptype class vC"	}	-re "type = class vC : public virtual vA \{$nl\[ \]*public:$nl\[ \]*int vc;$nl\[ \]*int vx;$nl.*\}$nl$gdb_prompt $" {            pass "ptype class vC (aCC)"	}	-re ".*$gdb_prompt $" { fail "ptype class vC" }	timeout { fail "ptype class vC (timeout)" }    }    setup_xfail_format "DWARF 1"    send_gdb "ptype g_vC\n"    gdb_expect {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -