This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[patch/mi] more args=... updates
- To: gdb-patches at sources dot redhat dot com
- Subject: [patch/mi] more args=... updates
- From: Andrew Cagney <ac131313 at cygnus dot com>
- Date: Tue, 26 Jun 2001 14:47:41 -0400
Following up the last MI patch, this (I think) goes through and updates
the remaining argument lists so that they are built as argument lists.
This just leaves breakpoint tables and a cross-check re-check.
Andrew
Index: mi/ChangeLog
2001-06-26 Andrew Cagney <ac131313@redhat.com>
* mi-cmd-stack.c (list_args_or_locals): Output a list of "args" or
"locals" entries.
* gdbmi.texinfo (stack-list-locals, stack-list-arguments)
(exec-interrupt, target-select, thread-select): Update
documentation.
Index: testsuite/gdb.mi/ChangeLog
2001-06-26 Andrew Cagney <ac131313@redhat.com>
* mi-stack.exp: Update. Output for args=... and
locals=... changed to a list.
Index: mi/gdbmi.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/mi/gdbmi.texinfo,v
retrieving revision 1.20
diff -p -r1.20 gdbmi.texinfo
*** gdbmi.texinfo 2001/06/26 18:13:45 1.20
--- gdbmi.texinfo 2001/06/26 18:43:57
*************** The corresponding @value{GDBN} command i
*** 1875,1881 ****
222^done
(@value{GDBP})
111*stopped,signal-name="SIGINT",signal-meaning="Interrupt",
! frame=@{addr="0x00010140",func="foo",args=@{@},file="try.c",line="13"@}
(@value{GDBP})
(@value{GDBP})
--- 1875,1881 ----
222^done
(@value{GDBP})
111*stopped,signal-name="SIGINT",signal-meaning="Interrupt",
! frame=@{addr="0x00010140",func="foo",args=[],file="try.c",line="13"@}
(@value{GDBP})
(@value{GDBP})
*************** file="../../../devo/gdb/testsuite/gdb.mi
*** 2600,2633 ****
-stack-list-arguments 0
^done,
stack-args=[
! frame=@{level="0",args=@{@}@},
! frame=@{level="1",args=@{name="strarg"@}@},
! frame=@{level="2",args=@{name="intarg",name="strarg"@}@},
! frame=@{level="3",args=@{name="intarg",name="strarg",name="fltarg"@}@},
! frame=@{level="4",args=@{@}@}]
(@value{GDBP})
-stack-list-arguments 1
^done,
stack-args=[
! frame=@{level="0",args=@{@}@},
frame=@{level="1",
! args=@{@{name="strarg",value="0x11940 \"A string argument.\""@}@}@},
! frame=@{level="2",args=@{
@{name="intarg",value="2"@},
! @{name="strarg",value="0x11940 \"A string argument.\""@}@}@},
! @{frame=@{level="3",args=@{
@{name="intarg",value="2"@},
@{name="strarg",value="0x11940 \"A string argument.\""@},
! @{name="fltarg",value="3.5"@}@}@},
! frame=@{level="4",args=@{@}@}]
(@value{GDBP})
-stack-list-arguments 0 2 2
! ^done,stack-args=[frame=@{level="2",args=@{name="intarg",name="strarg"@}@}]
(@value{GDBP})
-stack-list-arguments 1 2 2
^done,stack-args=[frame=@{level="2",
! args=@{@{name="intarg",value="2"@},
! @{name="strarg",value="0x11940 \"A string argument.\""@}@}@}]
(@value{GDBP})
@end smallexample
--- 2600,2633 ----
-stack-list-arguments 0
^done,
stack-args=[
! frame=@{level="0",args=[]@},
! frame=@{level="1",args=[name="strarg"]@},
! frame=@{level="2",args=[name="intarg",name="strarg"]@},
! frame=@{level="3",args=[name="intarg",name="strarg",name="fltarg"]@},
! frame=@{level="4",args=[]@}]
(@value{GDBP})
-stack-list-arguments 1
^done,
stack-args=[
! frame=@{level="0",args=[]@},
frame=@{level="1",
! args=[@{name="strarg",value="0x11940 \"A string argument.\""@}]@},
! frame=@{level="2",args=[
@{name="intarg",value="2"@},
! @{name="strarg",value="0x11940 \"A string argument.\""@}]@},
! @{frame=@{level="3",args=[
@{name="intarg",value="2"@},
@{name="strarg",value="0x11940 \"A string argument.\""@},
! @{name="fltarg",value="3.5"@}]@},
! frame=@{level="4",args=[]@}]
(@value{GDBP})
-stack-list-arguments 0 2 2
! ^done,stack-args=[frame=@{level="2",args=[name="intarg",name="strarg"]@}]
(@value{GDBP})
-stack-list-arguments 1 2 2
^done,stack-args=[frame=@{level="2",
! args=[@{name="intarg",value="2"@},
! @{name="strarg",value="0x11940 \"A string argument.\""@}]@}]
(@value{GDBP})
@end smallexample
*************** prints also their values.
*** 2752,2762 ****
@smallexample
(@value{GDBP})
-stack-list-locals 0
! ^done,locals=@{name="A",name="B",name="C"@}
(@value{GDBP})
-stack-list-locals 1
! ^done,locals=@{@{name="A",value="1"@},@{name="B",value="2"@},
! @{name="C",value="3"@}@}
(@value{GDBP})
@end smallexample
--- 2752,2762 ----
@smallexample
(@value{GDBP})
-stack-list-locals 0
! ^done,locals=[name="A",name="B",name="C"]
(@value{GDBP})
-stack-list-locals 1
! ^done,locals=[@{name="A",value="1"@},@{name="B",value="2"@},
! @{name="C",value="3"@}]
(@value{GDBP})
@end smallexample
*************** which the target program is, in the foll
*** 3260,3266 ****
@smallexample
^connected,addr="@var{address}",func="@var{function name}",
! args=@{@var{arg list}@}
@end smallexample
@subsubheading @value{GDBN} Command
--- 3260,3266 ----
@smallexample
^connected,addr="@var{address}",func="@var{function name}",
! args=[@var{arg list}]
@end smallexample
@subsubheading @value{GDBN} Command
*************** The corresponding @value{GDBN} command i
*** 3272,3278 ****
@smallexample
(@value{GDBP})
-target-select async /dev/ttya
! ^connected,addr="0xfe00a300",func="??",args=@{@}
(@value{GDBP})
@end smallexample
--- 3272,3278 ----
@smallexample
(@value{GDBP})
-target-select async /dev/ttya
! ^connected,addr="0xfe00a300",func="??",args=[]
(@value{GDBP})
@end smallexample
*************** number-of-threads="3"
*** 3388,3395 ****
-thread-select 3
^done,new-thread-id="3",
frame=@{level="0 ",func="vprintf",
! args=@{@{name="format",value="0x8048e9c \"%*s%c %d %c\\n\""@},
! @{name="arg",value="0x2"@}@},file="vprintf.c",line="31"@}
(@value{GDBP})
@end smallexample
--- 3388,3395 ----
-thread-select 3
^done,new-thread-id="3",
frame=@{level="0 ",func="vprintf",
! args=[@{name="format",value="0x8048e9c \"%*s%c %d %c\\n\""@},
! @{name="arg",value="0x2"@}],file="vprintf.c",line="31"@}
(@value{GDBP})
@end smallexample
Index: mi/mi-cmd-stack.c
===================================================================
RCS file: /cvs/src/src/gdb/mi/mi-cmd-stack.c,v
retrieving revision 1.6
diff -p -r1.6 mi-cmd-stack.c
*** mi-cmd-stack.c 2001/06/26 18:13:46 1.6
--- mi-cmd-stack.c 2001/06/26 18:43:58
*************** list_args_or_locals (int locals, int val
*** 222,228 ****
block = get_frame_block (fi);
! ui_out_tuple_begin (uiout, locals ? "locals" : "args");
while (block != 0)
{
--- 222,228 ----
block = get_frame_block (fi);
! ui_out_list_begin (uiout, locals ? "locals" : "args");
while (block != 0)
{
*************** list_args_or_locals (int locals, int val
*** 289,295 ****
else
block = BLOCK_SUPERBLOCK (block);
}
! ui_out_tuple_end (uiout);
ui_out_stream_delete (stb);
}
--- 289,295 ----
else
block = BLOCK_SUPERBLOCK (block);
}
! ui_out_list_end (uiout);
ui_out_stream_delete (stb);
}
Index: testsuite/gdb.mi/mi-stack.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.mi/mi-stack.exp,v
retrieving revision 1.6
diff -p -r1.6 mi-stack.exp
*** mi-stack.exp 2001/06/26 18:13:46 1.6
--- mi-stack.exp 2001/06/26 18:44:02
*************** proc test_stack_args_listing {} {
*** 102,128 ****
# -stack-list-arguments
mi_gdb_test "231-stack-list-arguments 0" \
! "231\\^done,stack-args=\\\[frame=\{level=\"0\",args=\{\}\},frame=\{level=\"1\",args=\{name=\"strarg\"\}\},frame=\{level=\"2\",args=\{name=\"intarg\",name=\"strarg\"\}\},frame=\{level=\"3\",args=\{name=\"intarg\",name=\"strarg\",name=\"fltarg\"\}\},frame=\{level=\"4\",args=\{\}\}\\\]" \
"stack args listing 0"
mi_gdb_test "232-stack-list-arguments 0 1 1" \
! "232\\^done,stack-args=\\\[frame=\{level=\"1\",args=\{name=\"strarg\"\}\}\\\]" \
"stack args listing 0 1 1"
mi_gdb_test "233-stack-list-arguments 0 1 3" \
! "233\\^done,stack-args=\\\[frame=\{level=\"1\",args=\{name=\"strarg\"\}\},frame=\{level=\"2\",args=\{name=\"intarg\",name=\"strarg\"\}\},frame=\{level=\"3\",args=\{name=\"intarg\",name=\"strarg\",name=\"fltarg\"\}\}\\\]" \
"stack args listing 0 1 3"
mi_gdb_test "231-stack-list-arguments 1" \
! "231\\^done,stack-args=\\\[frame=\{level=\"0\",args=\{\}\},frame=\{level=\"1\",args=\{\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\}\},frame=\{level=\"2\",args=\{\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\}\},frame=\{level=\"3\",args=\{\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\},\{name=\"fltarg\",value=\"3.5\"\}\}\},frame=\{level=\"4\",args=\{\}\}\\\]" \
"stack args listing 1"
mi_gdb_test "232-stack-list-arguments 1 1 1" \
! "232\\^done,stack-args=\\\[frame=\{level=\"1\",args=\{\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\}\}\\\]" \
"stack args listing 1 1 1"
mi_gdb_test "233-stack-list-arguments 1 1 3" \
! "233\\^done,stack-args=\\\[frame=\{level=\"1\",args=\{\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\}\},frame=\{level=\"2\",args=\{\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\}\},frame=\{level=\"3\",args=\{\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\},\{name=\"fltarg\",value=\"3.5\"\}\}\}\\\]" \
"stack args listing 1 1 3"
mi_gdb_test "234-stack-list-arguments" \
--- 102,128 ----
# -stack-list-arguments
mi_gdb_test "231-stack-list-arguments 0" \
! "231\\^done,stack-args=\\\[frame=\{level=\"0\",args=\\\[\\\]\},frame=\{level=\"1\",args=\\\[name=\"strarg\"\\\]\},frame=\{level=\"2\",args=\\\[name=\"intarg\",name=\"strarg\"\\\]\},frame=\{level=\"3\",args=\\\[name=\"intarg\",name=\"strarg\",name=\"fltarg\"\\\]\},frame=\{level=\"4\",args=\\\[\\\]\}\\\]" \
"stack args listing 0"
mi_gdb_test "232-stack-list-arguments 0 1 1" \
! "232\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[name=\"strarg\"\\\]\}\\\]" \
"stack args listing 0 1 1"
mi_gdb_test "233-stack-list-arguments 0 1 3" \
! "233\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[name=\"strarg\"\\\]\},frame=\{level=\"2\",args=\\\[name=\"intarg\",name=\"strarg\"\\\]\},frame=\{level=\"3\",args=\\\[name=\"intarg\",name=\"strarg\",name=\"fltarg\"\\\]\}\\\]" \
"stack args listing 0 1 3"
mi_gdb_test "231-stack-list-arguments 1" \
! "231\\^done,stack-args=\\\[frame=\{level=\"0\",args=\\\[\\\]\},frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"2\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"3\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\},\{name=\"fltarg\",value=\"3.5\"\}\\\]\},frame=\{level=\"4\",args=\\\[\\\]\}\\\]" \
"stack args listing 1"
mi_gdb_test "232-stack-list-arguments 1 1 1" \
! "232\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\}\\\]" \
"stack args listing 1 1 1"
mi_gdb_test "233-stack-list-arguments 1 1 3" \
! "233\\^done,stack-args=\\\[frame=\{level=\"1\",args=\\\[\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"2\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\}\\\]\},frame=\{level=\"3\",args=\\\[\{name=\"intarg\",value=\"2\"\},\{name=\"strarg\",value=\"$hex \\\\\"A string argument.\\\\\"\"\},\{name=\"fltarg\",value=\"3.5\"\}\\\]\}\\\]" \
"stack args listing 1 1 3"
mi_gdb_test "234-stack-list-arguments" \
*************** proc test_stack_locals_listing {} {
*** 168,174 ****
# -stack-list-arguments
mi_gdb_test "232-stack-list-locals 0" \
! "232\\^done,locals=\{name=\"A\",name=\"B\",name=\"C\"\}" \
"stack locals listing 0"
# step until A, B, C, have some reasonable values.
--- 168,174 ----
# -stack-list-arguments
mi_gdb_test "232-stack-list-locals 0" \
! "232\\^done,locals=\\\[name=\"A\",name=\"B\",name=\"C\"\\\]" \
"stack locals listing 0"
# step until A, B, C, have some reasonable values.
*************** gdb_expect {
*** 181,187 ****
}
mi_gdb_test "232-stack-list-locals 1" \
! "232\\^done,locals=\{\{name=\"A\",value=\"1\"\},\{name=\"B\",value=\"2\"\},\{name=\"C\",value=\"3\"\}\}" \
"stack locals listing 1"
mi_gdb_test "234-stack-list-locals" \
--- 181,187 ----
}
mi_gdb_test "232-stack-list-locals 1" \
! "232\\^done,locals=\\\[\{name=\"A\",value=\"1\"\},\{name=\"B\",value=\"2\"\},\{name=\"C\",value=\"3\"\}\\\]" \
"stack locals listing 1"
mi_gdb_test "234-stack-list-locals" \
*************** gdb_expect {
*** 193,199 ****
"stack select frame 1"
mi_gdb_test "232-stack-list-locals 1" \
! "232\\^done,locals=\{\}" \
"stack locals listing for new frame"
# this should be a no-op
--- 193,199 ----
"stack select frame 1"
mi_gdb_test "232-stack-list-locals 1" \
! "232\\^done,locals=\\\[\\\]" \
"stack locals listing for new frame"
# this should be a no-op
*************** gdb_expect {
*** 203,209 ****
"stack select same frame"
mi_gdb_test "232-stack-list-locals 1" \
! "232\\^done,locals=\{\}" \
"stack locals for same frame (level 1)"
}
--- 203,209 ----
"stack select same frame"
mi_gdb_test "232-stack-list-locals 1" \
! "232\\^done,locals=\\\[\\\]" \
"stack locals for same frame (level 1)"
}