public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-pmuldoon-python-backtrace: Replace RAW-FRAMES with --no-frame-filters in MI
@ 2012-09-27 15:53 pmuldoon
  0 siblings, 0 replies; only message in thread
From: pmuldoon @ 2012-09-27 15:53 UTC (permalink / raw)
  To: archer-commits

The branch, archer-pmuldoon-python-backtrace has been updated
       via  5439b1477fd1cca1fc333b72d969c6b055ad9e81 (commit)
      from  ce5bf0ab811f2ef1fb528bcdcb6967808c67dc97 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 5439b1477fd1cca1fc333b72d969c6b055ad9e81
Author: Phil Muldoon <pmuldoon@redhat.com>
Date:   Thu Sep 27 16:52:44 2012 +0100

    Replace RAW-FRAMES with --no-frame-filters in MI

-----------------------------------------------------------------------

Summary of changes:
 gdb/mi/mi-cmd-stack.c                          |   91 +++++++++---------------
 gdb/testsuite/gdb.python/py-framefilter-mi.exp |   48 ++++++++-----
 2 files changed, 64 insertions(+), 75 deletions(-)

First 500 lines of diff:
diff --git a/gdb/mi/mi-cmd-stack.c b/gdb/mi/mi-cmd-stack.c
index 7560a06..773ab75 100644
--- a/gdb/mi/mi-cmd-stack.c
+++ b/gdb/mi/mi-cmd-stack.c
@@ -50,6 +50,15 @@ stack_enable_frame_filters (void)
   frame_filters = 1;
 }
 
+static int
+parse_no_frames_option (char *arg)
+{
+  if (arg && (strcmp (arg, "--no-frame-filters") == 0))
+    return 1;
+
+  return 0;
+}
+
 /* Print a list of the stack frames.  Args can be none, in which case
    we want to print the whole backtrace, or a pair of numbers
    specifying the frame numbers at which to start and stop the
@@ -68,19 +77,12 @@ mi_cmd_stack_list_frames (char *command, char **argv, int argc)
   int raw_arg = 0;
   int j;
 
-  if (argc)
-    {
-      /* Find 'raw-frames' at argv[0] if passed as an argument */
-      for (j = 0; j < strlen (argv[0]); j++)
-	argv[0][j] = tolower (argv[0][j]);
-
-      if (subset_compare (argv[0], "raw-frames"))
-	raw_arg = 1;
-    }
+  if (argc > 0)
+    raw_arg = parse_no_frames_option (argv[0]);
 
   if ((argc > 3 && ! raw_arg) || (argc == 1 && ! raw_arg)
       || (argc == 2 && raw_arg))
-    error (_("-stack-list-frames: Usage: [RAW-FRAMES FRAME_LOW FRAME_HIGH]"));
+    error (_("-stack-list-frames: Usage: [--no-frame-filters] [FRAME_LOW FRAME_HIGH]"));
 
   if (argc == 3 || argc == 2)
     {
@@ -200,44 +202,35 @@ mi_cmd_stack_list_locals (char *command, char **argv, int argc)
   struct frame_info *frame;
   int raw_arg = 0;
   int result = 0;
+  int print_value;
 
-  if (argc == 2)
-    {
-      int j;
-      /* Find 'raw-frames' at argv[1] if passed as an argument */
-      for (j = 0; j < strlen (argv[1]); j++)
-	argv[1][j] = tolower (argv[1][j]);
-
-      if (subset_compare (argv[1], "raw-frames"))
-	raw_arg = 1;
-    }
+  if (argc > 0)
+    raw_arg = parse_no_frames_option (argv[0]);
 
   if (argc < 1 || argc > 2 || (argc == 2 && ! raw_arg)
       || (argc == 1 && raw_arg))
-    error (_("-stack-list-locals: Usage: PRINT_VALUES [RAW-FRAMES]"));
+    error (_("-stack-list-locals: Usage: [--no-frame-filters] PRINT_VALUES"));
 
    frame = get_selected_frame (NULL);
+   print_value = parse_print_values (argv[raw_arg]);
 
    if (! raw_arg && frame_filters)
      {
-       int count = 1;
-       int arg = atoi (argv[0]);
-
        result = apply_frame_filter (frame,/* frame */
 				    1, /* print_level */
 				    0, /* print_frame_info */
 				    0, /* print_args */
 				    1, /* print_locals */
-				    arg, /* mi_print_args_type */
+				    print_value, /* mi_print_args_type */
 				    0, /* cli_print_args_type */
 				    current_uiout, /* out */
-				    count /* count */);
+				    1 /* count */);
      }
 
    if (! frame_filters || raw_arg || result == PY_BT_ERROR
        || result == PY_BT_NO_FILTERS)
      {
-       list_args_or_locals (locals, parse_print_values (argv[0]), frame);
+       list_args_or_locals (locals, print_value, frame);
      }
 }
 
@@ -258,20 +251,12 @@ mi_cmd_stack_list_args (char *command, char **argv, int argc)
   int raw_arg = 0;
   int result = 0;
 
-  if (argc > 1)
-    {
-      int j;
-      /* Find 'raw-frames' at argv[1] if passed as an argument */
-      for (j = 0; j < strlen (argv[1]); j++)
-	argv[1][j] = tolower (argv[1][j]);
-
-      if (subset_compare (argv[1], "raw-frames"))
-	raw_arg = 1;
-    }
+  if (argc > 0)
+    raw_arg = parse_no_frames_option (argv[0]);
 
   if (argc < 1 || (argc > 3 && ! raw_arg) || (argc == 2 && ! raw_arg))
-    error (_("-stack-list-arguments: Usage: "
-	     "PRINT_VALUES [RAW-FRAMES FRAME_LOW FRAME_HIGH]"));
+    error (_("-stack-list-arguments: Usage: " \
+	     "[--no-frame-filters] PRINT_VALUES [FRAME_LOW FRAME_HIGH]"));
 
   if (argc >= 3)
     {
@@ -286,7 +271,7 @@ mi_cmd_stack_list_args (char *command, char **argv, int argc)
       frame_high = -1;
     }
 
-  print_values = parse_print_values (argv[0]);
+  print_values = parse_print_values (argv[raw_arg]);
 
   /* Let's position fi on the frame at which to start the
      display. Could be the innermost frame if the whole stack needs
@@ -352,45 +337,37 @@ mi_cmd_stack_list_variables (char *command, char **argv, int argc)
   struct frame_info *frame;
   int raw_arg = 0;
   int result = 0;
+  int print_value;
 
-  if (argc == 2)
-    {
-      int j;
-      /* Find 'raw-frames' at argv[1] if passed as an argument */
-      for (j = 0; j < strlen (argv[1]); j++)
-	argv[1][j] = tolower (argv[1][j]);
-
-      if (subset_compare (argv[1], "raw-frames"))
-	raw_arg = 1;
-    }
+  if (argc > 0)
+    raw_arg = parse_no_frames_option (argv[0]);
 
   if (argc < 1 || argc > 2 || (argc == 2 && ! raw_arg)
       || (argc == 1 && raw_arg))
-    error (_("-stack-list-arguments: Usage: PRINT_VALUES [RAW-FRAMES]"));
+    error (_("-stack-list-arguments: Usage: " \
+	     "[--no-frame-filters] PRINT_VALUES"));
 
    frame = get_selected_frame (NULL);
+   print_value = parse_print_values (argv[raw_arg]);
 
    if (! raw_arg && frame_filters)
      {
-       int count = 1;
-       int arg = atoi (argv[0]);
-
        result = apply_frame_filter (frame,/* frame */
 				    1, /* print_level */
 				    0, /* print_frame_info */
 				    1, /* print_args */
 				    1, /* print_locals */
-				    arg, /* mi_print_args_type */
+				    print_value, /* mi_print_args_type */
 				    0, /* cli_print_args_type */
 				    current_uiout, /* out */
-				    count /* count */);
+				    1 /* count */);
      }
 
    if (! frame_filters || raw_arg || result == PY_BT_ERROR
        || result == PY_BT_NO_FILTERS)
      {
 
-       list_args_or_locals (all, parse_print_values (argv[0]), frame);
+       list_args_or_locals (all, print_value, frame);
      }
 }
 
diff --git a/gdb/testsuite/gdb.python/py-framefilter-mi.exp b/gdb/testsuite/gdb.python/py-framefilter-mi.exp
index 1c390d7..bfb22ab 100644
--- a/gdb/testsuite/gdb.python/py-framefilter-mi.exp
+++ b/gdb/testsuite/gdb.python/py-framefilter-mi.exp
@@ -71,9 +71,9 @@ mi_gdb_test "-stack-list-arguments 0" \
     "\\^done,stack-args=\\\[frame={level=\"0\",args=\\\[name=\"foo\",name=\"bar\",name=\"fb\",name=\"bf\"\\\]},frame={level=\"1\",args=\\\[\\\]},frame={level=\"2\",args=\\\[name=\"j\"\\\]},.*frame={level=\"22\",args=\\\[\\\],children=\\\[frame={level=\"23\",args=\\\[\\\]}\\\]},.*frame={level=\"26\",args=\\\[name=\"f\",name=\"d\"\\\]},frame={level=\"27\",args=\\\[\\\]}\\\]" \
     "stack-list-arguments 0"
 
-mi_gdb_test "-stack-list-arguments 0 raw-frames" \
+mi_gdb_test "-stack-list-arguments --no-frame-filters 0" \
     "\\^done,stack-args=\\\[frame={level=\"0\",args=\\\[name=\"foo\",name=\"bar\",name=\"fb\",name=\"bf\"\\\]},frame={level=\"1\",args=\\\[\\\]},frame={level=\"2\",args=\\\[name=\"j\"\\\]},.*frame={level=\"22\",args=\\\[\\\]},frame={level=\"23\",args=\\\[\\\]},.*frame={level=\"26\",args=\\\[name=\"f\",name=\"d\"\\\]},frame={level=\"27\",args=\\\[\\\]}\\\]" \
-    "stack-list-arguments 0 raw-frammes"
+    "stack-list-arguments --no-frame-filters 0"
 
 mi_gdb_test "-stack-list-arguments 0 0 3" \
     "\\^done,stack-args=\\\[frame={level=\"0\",args=\\\[name=\"foo\",name=\"bar\",name=\"fb\",name=\"bf\"\\\]},frame={level=\"1\",args=\\\[\\\]},frame={level=\"2\",args=\\\[name=\"j\"\\\]},frame={level=\"3\",args=\\\[\\\]}\\\]" \
@@ -87,9 +87,9 @@ mi_gdb_test "-stack-list-arguments 1" \
     "\\^done,stack-args=\\\[frame={level=\"0\",args=\\\[{name=\"foo\",value=\"21\"},{name=\"bar\",value=\"$hex \\\\\"Param\\\\\"\"},{name=\"fb\",value=\"$hex\"},{name=\"bf\",value=\"{nothing = $hex \\\\\"Foo Bar\\\\\", f = 42, s = 19}\"}\\\]},frame={level=\"1\",args=\\\[\\\]},frame={level=\"2\",args=\\\[{name=\"j\",value=\"10\"}\\\]},.*frame={level=\"22\",args=\\\[\\\],children=\\\[frame={level=\"23\",args=\\\[\\\]}\\\]},.*frame={level=\"26\",args=\\\[{name=\"f\",value=\"3\"},{name=\"d\",value=\"5\"}\\\]},frame={level=\"27\",args=\\\[\\\]}\\\]" \
     "stack-list-arguments 1"
 
-mi_gdb_test "-stack-list-arguments 1 raw-frames" \
+mi_gdb_test "-stack-list-arguments --no-frame-filters 1" \
     "\\^done,stack-args=\\\[frame={level=\"0\",args=\\\[{name=\"foo\",value=\"21\"},{name=\"bar\",value=\"$hex \\\\\"Param\\\\\"\"},{name=\"fb\",value=\"$hex\"},{name=\"bf\",value=\"{nothing = $hex \\\\\"Foo Bar\\\\\", f = 42, s = 19}\"}\\\]},frame={level=\"1\",args=\\\[\\\]},frame={level=\"2\",args=\\\[{name=\"j\",value=\"10\"}\\\]},.*frame={level=\"22\",args=\\\[\\\]},frame={level=\"23\",args=\\\[\\\]},.*frame={level=\"26\",args=\\\[{name=\"f\",value=\"3\"},{name=\"d\",value=\"5\"}\\\]},frame={level=\"27\",args=\\\[\\\]}\\\]" \
-    "stack-list-arguments raw-frames 1"
+    "stack-list-arguments --no-frame-filters 1"
 
 
 mi_gdb_test "-stack-list-arguments 1 0 3" \
@@ -104,9 +104,9 @@ mi_gdb_test "-stack-list-arguments 2" \
     "\\^done,stack-args=\\\[frame={level=\"0\",args=\\\[{name=\"foo\",type=\"int\",value=\"21\"},{name=\"bar\",type=\"char \\\*\",value=\"$hex \\\\\"Param\\\\\"\"},{name=\"fb\",type=\"foobar \\\*\",value=\"$hex\"},{name=\"bf\",type=\"foobar\"\}\\\]},frame={level=\"1\",args=\\\[\\\]},frame={level=\"2\",args=\\\[{name=\"j\",type=\"int\",value=\"10\"}\\\]},.*frame={level=\"22\",args=\\\[\\\],children=\\\[frame={level=\"23\",args=\\\[\\\]}\\\]},.*frame={level=\"26\",args=\\\[{name=\"f\",type=\"int\",value=\"3\"},{name=\"d\",type=\"int\",value=\"5\"}\\\]},frame={level=\"27\",args=\\\[\\\]}\\\]" \
     "stack-list-arguments 2"
 
-mi_gdb_test "-stack-list-arguments 2 raw-frames" \
+mi_gdb_test "-stack-list-arguments --no-frame-filters 2" \
     "\\^done,stack-args=\\\[frame={level=\"0\",args=\\\[{name=\"foo\",type=\"int\",value=\"21\"},{name=\"bar\",type=\"char \\\*\",value=\"$hex \\\\\"Param\\\\\"\"},{name=\"fb\",type=\"foobar \\\*\",value=\"$hex\"},{name=\"bf\",type=\"foobar\"}\\\]},frame={level=\"1\",args=\\\[\\\]},frame={level=\"2\",args=\\\[{name=\"j\",type=\"int\",value=\"10\"}\\\]},.*frame={level=\"22\",args=\\\[\\\]},.*frame={level=\"26\",args=\\\[{name=\"f\",type=\"int\",value=\"3\"},{name=\"d\",type=\"int\",value=\"5\"}\\\]},frame={level=\"27\",args=\\\[\\\]}\\\]" \
-    "stack-list-arguments 2 raw-frames"
+    "stack-list-arguments --no-frame-filters 2"
 
 
 mi_gdb_test "-stack-list-arguments 2 0 3" \
@@ -117,22 +117,34 @@ mi_gdb_test "-stack-list-arguments 2 22 27" \
     "\\^done,stack-args=\\\[frame={level=\"22\",args=\\\[\\\],children=\\\[frame={level=\"23\",args=\\\[\\\]}\\\]},.*frame={level=\"26\",args=\\\[{name=\"f\",type=\"int\",value=\"3\"},{name=\"d\",type=\"int\",value=\"5\"}\\\]},frame={level=\"27\",args=\\\[\\\]}\\\]" \
     "stack-list-arguments 2 22 27"
 
-mi_gdb_test "-stack-list-arguments 2 raw-frames 22 27" \
+mi_gdb_test "-stack-list-arguments --no-frame-filters 2 22 27" \
     "\\^done,stack-args=\\\[frame={level=\"22\",args=\\\[\\\]},frame={level=\"23\",args=\\\[\\\]},.*frame={level=\"26\",args=\\\[{name=\"f\",type=\"int\",value=\"3\"},{name=\"d\",type=\"int\",value=\"5\"}\\\]},frame={level=\"27\",args=\\\[\\\]}\\\]" \
-    "stack-list-arguments 2 raw-frames 22 27"
+    "stack-list-arguments --no-frame-filters 2 22 27"
 
 #stack-list-locals
-mi_gdb_test "-stack-list-locals 0 raw-frames" \
+mi_gdb_test "-stack-list-locals --no-frame-filters 0" \
     "\\^done,locals=\\\[name=\"str\",name=\"st2\",name=\"b\",name=\"c\"\\\]" \
-    "stack-list-locals 0 raw-frames"
+    "stack-list-locals --no-frame-filters 0"
 
-mi_gdb_test "-stack-list-locals 1 raw-frames" \
+mi_gdb_test "-stack-list-locals --no-frame-filters 1" \
     "\\^done,locals=\\\[{name=\"str\",value=\"$hex \\\\\"The End\\\\\"\"},{name=\"st2\",value=\"$hex \\\\\"Is Near\\\\\"\"},{name=\"b\",value=\"12\"},{name=\"c\",value=\"5\"}\\\]" \
-    "stack-list-locals 1 raw-frames"
+    "stack-list-locals --no-frame-filters 1"
 
-mi_gdb_test "-stack-list-locals 2 raw-frames" \
+mi_gdb_test "-stack-list-locals --no-frame-filters 2" \
     "\\^done,locals=\\\[{name=\"str\",type=\"const char \\\*\",value=\"$hex \\\\\"The End\\\\\"\"},{name=\"st2\",type=\"const char \\\*\",value=\"$hex \\\\\"Is Near\\\\\"\"},{name=\"b\",type=\"int\",value=\"12\"},{name=\"c\",type=\"short int\",value=\"5\"}\\\]" \
-    "stack-list-locals 2 raw-frames"
+    "stack-list-locals --no-frame-filters 2"
+
+mi_gdb_test "-stack-list-locals --no-frame-filters --no-values" \
+    "\\^done,locals=\\\[name=\"str\",name=\"st2\",name=\"b\",name=\"c\"\\\]" \
+    "stack-list-locals --no-frame-filters --no-values"
+
+mi_gdb_test "-stack-list-locals --no-frame-filters --all-values" \
+    "\\^done,locals=\\\[{name=\"str\",value=\"$hex \\\\\"The End\\\\\"\"},{name=\"st2\",value=\"$hex \\\\\"Is Near\\\\\"\"},{name=\"b\",value=\"12\"},{name=\"c\",value=\"5\"}\\\]" \
+    "stack-list-locals --no-frame-filters --all-values"
+
+mi_gdb_test "-stack-list-locals --no-frame-filters --simple-values" \
+    "\\^done,locals=\\\[{name=\"str\",type=\"const char \\\*\",value=\"$hex \\\\\"The End\\\\\"\"},{name=\"st2\",type=\"const char \\\*\",value=\"$hex \\\\\"Is Near\\\\\"\"},{name=\"b\",type=\"int\",value=\"12\"},{name=\"c\",type=\"short int\",value=\"5\"}\\\]" \
+    "stack-list-locals --no-frame-filters --simple-values"
 
 mi_gdb_test "-stack-list-locals 0" \
     "\\^done,locals=\\\[name=\"str\",name=\"st2\",name=\"b\",name=\"c\"\\\]" \
@@ -146,13 +158,13 @@ mi_gdb_test "-stack-list-locals 2" \
     "\\^done,locals=\\\[{name=\"str\",type=\"const char \\\*\",value=\"$hex \\\\\"The End\\\\\"\"},{name=\"st2\",type=\"const char \\\*\",value=\"$hex \\\\\"Is Near\\\\\"\"},{name=\"b\",type=\"int\",value=\"12\"},{name=\"c\",type=\"short int\",value=\"5\"}\\\]" \
     "stack-list-locals 2"
 
-#stack-list-variables
-mi_gdb_test "-stack-list-variables 0 raw-frames" \
+# stack-list-variables
+mi_gdb_test "-stack-list-variables --no-frame-filters 0" \
     "\\^done,variables=\\\[{name=\"foo\",arg=\"1\"},{name=\"bar\",arg=\"1\"},{name=\"fb\",arg=\"1\"},{name=\"bf\",arg=\"1\"},{name=\"str\"},{name=\"st2\"},{name=\"b\"},{name=\"c\"}\\\]" \
-    "stack-list-locals 0 raw-frames"
+    "stack-list-variables --no-frame-filters 0"
 
 mi_gdb_test "-stack-list-variables 0" \
     "\\^done,variables=\\\[{name=\"foo\",arg=\"1\"},{name=\"bar\",arg=\"1\"},{name=\"fb\",arg=\"1\"},{name=\"bf\",arg=\"1\"},{name=\"str\"},{name=\"st2\"},{name=\"b\"},{name=\"c\"}\\\]" \
-    "stack-list-locals 0"
+    "stack-list-variables 0"
 
 remote_file host delete ${remote_python_file}


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-09-27 15:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-27 15:53 [SCM] archer-pmuldoon-python-backtrace: Replace RAW-FRAMES with --no-frame-filters in MI pmuldoon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).