| Index: gdb/testsuite/gdb.mi/mi-var-cp.exp
|
| diff --git a/gdb/testsuite/gdb.mi/mi-var-cp.exp b/gdb/testsuite/gdb.mi/mi-var-cp.exp
|
| index 01204e454c5b9fbd8599dbedb2fe465ebdec74ab..0ce4c4026cc90f328092235f45f97a0186969bfe 100644
|
| --- a/gdb/testsuite/gdb.mi/mi-var-cp.exp
|
| +++ b/gdb/testsuite/gdb.mi/mi-var-cp.exp
|
| @@ -23,11 +23,9 @@ if [mi_gdb_start] {
|
| continue
|
| }
|
|
|
| -set testfile mi-var-cp
|
| -set srcfile "$testfile.cc"
|
| -set binfile $objdir/$subdir/$testfile
|
| +standard_testfile .cc
|
|
|
| -if [get_compiler_info ${binfile} "c++"] {
|
| +if [get_compiler_info "c++"] {
|
| return -1;
|
| }
|
|
|
| @@ -46,5 +44,78 @@ mi_run_inline_test reference_to_pointer
|
| mi_run_inline_test reference_to_struct
|
| mi_run_inline_test path_expression
|
|
|
| +set lineno [gdb_get_line_number "/* anonymous_structs_and_unions */"]
|
| +mi_create_breakpoint \
|
| + "$srcfile:$lineno" {[0-9]+} keep {anonymous_structs_and_unions\(\)} \
|
| + ".*mi-var-cp.cc" $lineno $hex "break in anonymous_structs_and_unions"
|
| +mi_execute_to "exec-continue" "breakpoint-hit" \
|
| + "anonymous_structs_and_unions" "" ".*" ".*" {"" "disp=\"keep\""} \
|
| + "continue to anonymous_structs breakpoint"
|
| +
|
| +set tree {
|
| + Anonymous a {
|
| + {} public {
|
| + anonymous struct {
|
| + {} public {
|
| + int b {}
|
| + }
|
| + }
|
| + anonymous struct {
|
| + {} public {
|
| + int c {}
|
| + }
|
| + }
|
| + anonymous struct {
|
| + {} public {
|
| + int d {}
|
| + anonymous struct {
|
| + {} public {
|
| + int e {}
|
| + anonymous struct {
|
| + {} public {
|
| + int f {}
|
| + anonymous union {
|
| + {} public {
|
| + int g {}
|
| + char h {}
|
| + }
|
| + }
|
| + }
|
| + }
|
| + anonymous union {
|
| + {} public {
|
| + int i {}
|
| + char j {}
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| + }
|
| +}
|
| +
|
| +proc verify_everything {variable_name} {
|
| + # Test -var-list-children
|
| + mi_varobj_tree_test_children_callback $variable_name
|
| +
|
| + # Bring the variable named by VARIABLE_NAME into the current scope
|
| + # in VAROBJ.
|
| + upvar #0 $variable_name varobj
|
| +
|
| + # Test -var-info-path-expression
|
| + mi_gdb_test "-var-info-path-expression $varobj(obj_name)" \
|
| + "\\^done,path_expr=\"[string_to_regexp $varobj(path_expr)]\"" \
|
| + "path expression for $varobj(obj_name)"
|
| +
|
| + # Test -var-info-expression
|
| + mi_gdb_test "-var-info-expression $varobj(obj_name)" \
|
| + "\\^done,lang=\"C\\+\\+\",exp=\"[string_to_regexp $varobj(display_name)]\"" \
|
| + "expression for $varobj(obj_name)"
|
| +}
|
| +
|
| +mi_walk_varobj_tree c++ $tree verify_everything
|
| +
|
| mi_gdb_exit
|
| return 0
|
|
|