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

📄 inherit.exp

📁 lwip在ucos上的移植
💻 EXP
📖 第 1 页 / 共 3 页
字号:
	-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 g_vC"	}	-re "type = class vC : public virtual vA \{$nl\[ \]*public:$nl\[ \]*int vc;$nl\[ \]*int vx;$nl.*\}$nl$gdb_prompt $" {            pass "ptype g_vC (aCC)"	}	-re ".*$gdb_prompt $" { fail "ptype g_vC" }	timeout { fail "ptype g_vC (timeout)" }    }}## Single virtual inheritance, print complete classes.#proc test_print_svi_classes {} {    global gdb_prompt    global hex    global decimal    global nl    global vbptr    # Print all members of g_vA.    gdb_test "print g_vA" ".* = \{va = 1, vx = 2\}" "print g_vA"    # Print all members of g_vB.    setup_xfail_format "DWARF 1"    send_gdb "print g_vB\n"    gdb_expect {	-re ".* = \{\<class vA\> = \{va = 3, vx = 4\}, vb = 5, vx = 6, Virtual table at $hex\}$nl$gdb_prompt $" {           pass "print g_vB (aCC)"	}	-re ".* = \{\<class vA\> = \{va = 3, vx = 4\}, vb = 5, vx = 6, __vfp = $hex\}$nl$gdb_prompt $" {	    pass "print g_vB (aCC)"	}	-re ".* = \{\<vA\> = \{va = 3, vx = 4\}, ${vbptr}vA = $hex, vb = 5, vx = 6\}$nl$gdb_prompt $" {	    pass "print g_vB"	}	-re ".*invalid address 0x0.*$gdb_prompt $" {	    # Does not happen with gcc cygnus-2.4.5-930828	    fail "print g_vB (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" }	timeout { fail "print g_vB (timeout)" ; return }    }    # Print all members of g_vC.    setup_xfail_format "DWARF 1"    send_gdb "print g_vC\n"    gdb_expect {	-re ".* = \{\<class vA\> = \{va = 7, vx = 8\}, vc = 9, vx = 10, Virtual table at $hex\}$nl$gdb_prompt $" {	    pass "print g_vC (aCC)"	}	-re ".* = \{\<class vA\> = \{va = 7, vx = 8\}, vc = 9, vx = 10, __vfp = $hex\}$nl$gdb_prompt $" {	    pass "print g_vC (aCC)"	}	-re ".* = \{\<vA\> = \{va = 7, vx = 8\}, ${vbptr}vA = $hex, vc = 9, vx = 10\}$nl$gdb_prompt $" {	    pass "print g_vC"	}	-re ".*$gdb_prompt $" { fail "print g_vC" }	timeout { fail "print g_vC (timeout)" }    }}## Multiple virtual inheritance, print individual members.#proc test_print_mvi_members {} {    global gdb_prompt    global decimal    global nl    # Print all members of g_vD.    setup_xfail_format "DWARF 1"    send_gdb "print g_vD.vA::va\n"    gdb_expect {	-re ".* = 19$nl$gdb_prompt $" { pass "print g_vD.vA::va" }	-re ".*virtual baseclass botch.*$gdb_prompt $" {	    # Does not happen with gcc cygnus-2.4.5-930828	    fail "print g_vD.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_vD.vA::va" }	timeout { fail "print g_vD.vA::va (timeout)" ; return }    }    setup_xfail_format "DWARF 1"    gdb_test "print g_vD.vA::vx" ".* = 20" "print g_vD.vA::vx"    setup_xfail_format "DWARF 1"    gdb_test "print g_vD.vB::vb" ".* = 21" "print g_vD.vB::vb"    setup_xfail_format "DWARF 1"    gdb_test "print g_vD.vB::vx" ".* = 22" "print g_vD.vB::vx"    setup_xfail_format "DWARF 1"    gdb_test "print g_vD.vC::vc" ".* = 23" "print g_vD.vC::vc"    setup_xfail_format "DWARF 1"    gdb_test "print g_vD.vC::vx" ".* = 24" "print g_vD.vC::vx"    gdb_test "print g_vD.vD::vd" ".* = 25" "print g_vD.vD::vd"    gdb_test "print g_vD.vD::vx" ".* = 26" "print g_vD.vD::vx"    # Print all members of g_vE.    setup_xfail_format "DWARF 1"    gdb_test "print g_vE.vA::va" ".* = 0" "print g_vE.vA::va"    setup_xfail_format "DWARF 1"    gdb_test "print g_vE.vA::vx" ".* = 0" "print g_vE.vA::vx"    setup_xfail_format "DWARF 1"    gdb_test "print g_vE.vB::vb" ".* = 0" "print g_vE.vB::vb"    setup_xfail_format "DWARF 1"    gdb_test "print g_vE.vB::vx" ".* = 0" "print g_vE.vB::vx"    setup_xfail_format "DWARF 1"    gdb_test "print g_vE.vC::vc" ".* = 0" "print g_vE.vC::vc"    setup_xfail_format "DWARF 1"    gdb_test "print g_vE.vC::vx" ".* = 0" "print g_vE.vC::vx"    setup_xfail_format "DWARF 1"    gdb_test "print g_vE.vD::vd" ".* = 0" "print g_vE.vD::vd"    gdb_test "print g_vE.vD::vx" ".* = 0" "print g_vE.vD::vx"    gdb_test "print g_vE.vE::ve" ".* = 27" "print g_vE.vE::ve"    gdb_test "print g_vE.vE::vx" ".* = 28" "print g_vE.vE::vx"}## Multiple virtual inheritance, print type definitions.#proc test_ptype_mvi {} {    global gdb_prompt    global ws    global nl    global vbptr    setup_xfail_format "DWARF 1"    send_gdb "ptype vD\n"    gdb_expect {	-re "type = class vD : public virtual vB, public virtual vC \{${ws}private:${ws}vC \\*${vbptr}vC;${ws}vB \\*${vbptr}vB;${ws}public:${ws}int vd;${ws}int vx;$nl.*\}.*$gdb_prompt $" {	    pass "ptype vD"	}        -re ".*class vD : public virtual vB, public virtual vC \{${ws}public:${ws}int vd;${ws}int vx;.*\}.*$gdb_prompt $" {	    pass "ptype vD"	}	-re ".*$gdb_prompt $" { fail "ptype vD" }	timeout { fail "(timeout) ptype vD" }    }    setup_xfail_format "DWARF 1"    send_gdb "ptype class vD\n"    gdb_expect {	-re "type = class vD : public virtual vB, public virtual vC \{${ws}private:${ws}vC \\*${vbptr}vC;${ws}vB \\*${vbptr}vB;${ws}public:${ws}int vd;${ws}int vx;$nl.*\}.*$gdb_prompt $" {	    pass "ptype class vD"	}	-re ".*class vD : public virtual vB, public virtual vC \{${ws}public:${ws}int vd;${ws}int vx;.*\}.*$gdb_prompt $" {	    pass "ptype class vD"	}	-re ".*$gdb_prompt $" { fail "ptype class vD" }	timeout { fail "(timeout) ptype class vD" }    }    setup_xfail_format "DWARF 1"    send_gdb "ptype g_vD\n"    gdb_expect {	-re "type = class vD : public virtual vB, public virtual vC \{${ws}private:${ws}vC \\*${vbptr}vC;${ws}vB \\*${vbptr}vB;${ws}public:${ws}int vd;${ws}int vx;$nl.*\}.*$gdb_prompt $" {	    pass "ptype g_vD"	}	-re ".*class vD : public virtual vB, public virtual vC \{${ws}public:${ws}int vd;${ws}int vx;\r\n.*\}.*$gdb_prompt $" {	    pass "ptype g_vD"	}	-re ".*$gdb_prompt $" { fail "ptype g_vD" }	timeout { fail "(timeout) ptype g_vD" }    }    setup_xfail_format "DWARF 1"    send_gdb "ptype vE\n"    gdb_expect {	-re "type = class vE : public virtual vD \{${ws}private:${ws}vD \\*${vbptr}vD;${ws}public:${ws}int ve;${ws}int vx;$nl.*\}.*$gdb_prompt $" {	    pass "ptype vE"	}	-re ".*class vE : public virtual vD \{${ws}public:${ws}int ve;${ws}int vx;\r\n.*\}.*$gdb_prompt $" {	    pass "ptype vE"	}	-re ".*$gdb_prompt $" { fail "ptype vE" }	timeout { fail "(timeout) ptype vE" }    }    setup_xfail_format "DWARF 1"    send_gdb "ptype class vE\n"    gdb_expect {	-re "type = class vE : public virtual vD \{${ws}private:${ws}vD \\*${vbptr}vD;${ws}public:${ws}int ve;${ws}int vx;$nl.*\}.*$gdb_prompt $" {	    pass "ptype class vE"	}	-re "type = class vE : public virtual vD \{${ws}public:${ws}int ve;${ws}int vx;\r\n.*\}.*$gdb_prompt $" {	    pass "ptype class vE"	}	-re ".*$gdb_prompt $" { fail "ptype class vE" }	timeout { fail "(timeout) ptype class vE" }    }    setup_xfail_format "DWARF 1"    send_gdb "ptype g_vE\n"    gdb_expect {	-re "type = class vE : public virtual vD \{${ws}private:${ws}vD \\*${vbptr}vD;${ws}public:${ws}int ve;${ws}int vx;$nl.*\}.*$gdb_prompt $" {	    pass "ptype g_vE"	}	-re "type = class vE : public virtual vD \{${ws}public:${ws}int ve;${ws}int vx;\r\n.*\}.*$gdb_prompt $" {	    pass "ptype g_vE"	}	-re ".*$gdb_prompt $" { fail "ptype g_vE" }	timeout { fail "(timeout) ptype g_vE" }    }}## Multiple virtual inheritance, print complete classes.#proc test_print_mvi_classes {} {    global gdb_prompt    global hex    global decimal    global nl    global vbptr    # Print all members of g_vD.    setup_xfail_format "DWARF 1"    send_gdb "print g_vD\n"    gdb_expect {	-re ".* = \{\<class vB\> = \{\<class vA\> = \{va = 19, vx = 20\}, vb = 21, vx = 22, Virtual table at $hex\}, \<class vC\> = \{vc = 23, vx = 24, Virtual table at $hex\}, vd = 25, vx = 26, Virtual table at $hex\}$nl$gdb_prompt $" {	    pass "print g_vD (aCC)"	}	-re ".* = \{\<class vB\> = \{\<class vA\> = \{va = 19, vx = 20\}, vb = 21, vx = 22, __vfp = $hex\}, \<class vC\> = \{vc = 23, vx = 24, __vfp = $hex\}, vd = 25, vx = 26, __vfp = $hex\}$nl$gdb_prompt $" {	    pass "print g_vD (aCC)"	}	-re ".* = \{\<vB\> = \{\<vA\> = \{va = 19, vx = 20\}, ${vbptr}vA = $hex, vb = 21, vx = 22\}, \<vC\> = \{${vbptr}vA = $hex, vc = 23, vx = 24\}, ${vbptr}vC = $hex, ${vbptr}vB = $hex, vd = 25, vx = 26\}$nl$gdb_prompt $" {	    pass "print g_vD"	}	-re ".*invalid address 0x0.*$gdb_prompt $" {	    # Does not happen with gcc cygnus-2.4.5-930828	    fail "print g_vD (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_vD" }	timeout { fail "print g_vD (timeout)" ; return }    }    # Print all members of g_vE.    setup_xfail_format "DWARF 1"    send_gdb "print g_vE\n"    gdb_expect {	-re ".* = \{\<class vD\> = \{\<class vB\> = \{\<class vA\> = \{va = 0, vx = 0\}, vb = 0, vx = 0, Virtual table at $hex\}, \<class vC\> = \{vc = 0, vx = 0, Virtual table at $hex\}, vd = 0, vx = 0, Virtual table at $hex\}, ve = 27, vx = 28, Virtual table at $hex\}$nl$gdb_prompt $" {	    pass "print g_vE (aCC)"	}	-re ".* = \{\<class vD\> = \{\<class vB\> = \{\<class vA\> = \{va = 0, vx = 0\}, vb = 0, vx = 0, __vfp = $hex\}, \<class vC\> = \{vc = 0, vx = 0, __vfp = $hex\}, vd = 0, vx = 0, __vfp = $hex\}, ve = 27, vx = 28, __vfp = $hex\}$nl$gdb_prompt $" {	    pass "print g_vE (aCC)"	}	-re ".* = \{\<vD\> = \{\<vB\> = \{\<vA\> = \{va = 0, vx = 0\}, ${vbptr}vA = $hex, vb = 0, vx = 0\}, \<vC\> = \{${vbptr}vA = $hex, vc = 0, vx = 0\}, ${vbptr}vC = $hex, ${vbptr}vB = $hex, vd = 0, vx = 0\}, ${vbptr}vD = $hex, ve = 27, vx = 28\}$nl$gdb_prompt $" {	    pass "print g_vE"	}	-re ".*$gdb_prompt $" { fail "print g_vE" }	timeout { fail "print g_vE (timeout)" }    }}proc do_tests {} {    global prms_id    global bug_id    global subdir    global objdir    global srcdir    global binfile    set prms_id 0    set bug_id 0    # Start with a fresh gdb.    gdb_exit    gdb_start    gdb_reinitialize_dir $srcdir/$subdir    gdb_load $binfile    gdb_test "set language c++" ""    gdb_test "set width 0" ""    # Get the debug format for the compiled test case.    if { ![ runto_main] } {	gdb_suppress_tests;    } else {	get_debug_format    }    test_ptype_si    test_ptype_mi    test_ptype_vi    test_ptype_mvi    gdb_stop_suppressing_tests;        if { ![ runto 'inheritance2(void)' ] } {	gdb_suppress_tests;    }    test_print_si_members    test_print_si_classes    test_print_mi_members    test_print_mi_classes    test_print_anon_union    gdb_stop_suppressing_tests;    if { ![ runto 'inheritance4(void)' ] } {	gdb_suppress_tests;    }    test_print_svi_members    test_print_svi_classes    test_print_mvi_members    test_print_mvi_classes}do_tests

⌨️ 快捷键说明

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