This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

[patch/mi] more args=... updates


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)"
  
  }

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]