From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29290 invoked by alias); 27 Sep 2012 15:53:21 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 29242 invoked by uid 9514); 27 Sep 2012 15:53:18 -0000 Date: Thu, 27 Sep 2012 15:53:00 -0000 Message-ID: <20120927155318.29227.qmail@sourceware.org> From: pmuldoon@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] archer-pmuldoon-python-backtrace: Replace RAW-FRAMES with --no-frame-filters in MI X-Git-Refname: refs/heads/archer-pmuldoon-python-backtrace X-Git-Reftype: branch X-Git-Oldrev: ce5bf0ab811f2ef1fb528bcdcb6967808c67dc97 X-Git-Newrev: 5439b1477fd1cca1fc333b72d969c6b055ad9e81 X-SW-Source: 2012-q3/txt/msg00043.txt.bz2 List-Id: 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 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.