[binutils-gdb] Add styling to macro commands

Tom Tromey tromey@sourceware.org
Sun Feb 17 23:35:00 GMT 2019


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6506371f0671dd5ca11127fee4db8d8d7fec157f

commit 6506371f0671dd5ca11127fee4db8d8d7fec157f
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Feb 8 01:28:53 2019 -0700

    Add styling to macro commands
    
    This adds filename styling to "info macro".
    
    gdb/ChangeLog
    2019-02-17  Tom Tromey  <tom@tromey.com>
    
    	* macrocmd.c (show_pp_source_pos): Style the file names.
    
    gdb/testsuite/ChangeLog
    2019-02-17  Tom Tromey  <tom@tromey.com>
    
    	* gdb.base/style.exp: Use -g3 to compile when possible.  Add test
    	for macro styling.
    	* gdb.base/style.c (SOME_MACRO): New macro.

Diff:
---
 gdb/ChangeLog                    |  4 ++++
 gdb/macrocmd.c                   |  9 ++++++---
 gdb/testsuite/ChangeLog          |  6 ++++++
 gdb/testsuite/gdb.base/style.c   |  2 ++
 gdb/testsuite/gdb.base/style.exp | 16 +++++++++++++++-
 5 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b9af73f..882546a 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
 2019-02-17  Tom Tromey  <tom@tromey.com>
 
+	* macrocmd.c (show_pp_source_pos): Style the file names.
+
+2019-02-17  Tom Tromey  <tom@tromey.com>
+
 	PR tui/24197:
 	* tui/tui-source.c (tui_set_source_content_nil): Rewrite.
 
diff --git a/gdb/macrocmd.c b/gdb/macrocmd.c
index beb9b78..3313e65 100644
--- a/gdb/macrocmd.c
+++ b/gdb/macrocmd.c
@@ -22,6 +22,7 @@
 #include "macrotab.h"
 #include "macroexp.h"
 #include "macroscope.h"
+#include "cli/cli-style.h"
 #include "cli/cli-utils.h"
 #include "command.h"
 #include "gdbcmd.h"
@@ -121,14 +122,16 @@ show_pp_source_pos (struct ui_file *stream,
   char *fullname;
 
   fullname = macro_source_fullname (file);
-  fprintf_filtered (stream, "%s:%d\n", fullname, line);
+  fputs_styled (fullname, file_name_style.style (), stream);
+  fprintf_filtered (stream, ":%d\n", line);
   xfree (fullname);
 
   while (file->included_by)
     {
       fullname = macro_source_fullname (file->included_by);
-      fprintf_filtered (gdb_stdout, "  included at %s:%d\n", fullname,
-                        file->included_at_line);
+      fputs_filtered (_("  included at "), stream);
+      fputs_styled (fullname, file_name_style.style (), stream);
+      fprintf_filtered (stream, ":%d\n", file->included_at_line);
       xfree (fullname);
       file = file->included_by;
     }
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 88c6a6c..f50f1e3 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,11 @@
 2019-02-17  Tom Tromey  <tom@tromey.com>
 
+	* gdb.base/style.exp: Use -g3 to compile when possible.  Add test
+	for macro styling.
+	* gdb.base/style.c (SOME_MACRO): New macro.
+
+2019-02-17  Tom Tromey  <tom@tromey.com>
+
 	* gdb.base/style.exp: Add line-wrapping tests.
 	* gdb.base/page.exp: Add test for quitting during pagination.
 
diff --git a/gdb/testsuite/gdb.base/style.c b/gdb/testsuite/gdb.base/style.c
index 53f6596..a44936e 100644
--- a/gdb/testsuite/gdb.base/style.c
+++ b/gdb/testsuite/gdb.base/style.c
@@ -13,6 +13,8 @@
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#define SOME_MACRO 23
+
 int
 main (int argc, char **argv)
 {
diff --git a/gdb/testsuite/gdb.base/style.exp b/gdb/testsuite/gdb.base/style.exp
index 010d959..2778001 100644
--- a/gdb/testsuite/gdb.base/style.exp
+++ b/gdb/testsuite/gdb.base/style.exp
@@ -21,7 +21,16 @@ save_vars { env(TERM) } {
     # We need an ANSI-capable terminal to get the output.
     setenv TERM ansi
 
-    if {[prepare_for_testing "failed to prepare" $testfile $srcfile]} {
+    set test_macros 0
+    set options debug
+    get_compiler_info
+    if { [test_compiler_info "gcc-*"] || [test_compiler_info "clang-*"] } {
+	lappend options additional_flags=-g3
+	set test_macros 1
+    }
+
+    if {[prepare_for_testing "failed to prepare" $testfile $srcfile \
+	     $options]} {
 	return -1
     }
 
@@ -63,6 +72,11 @@ save_vars { env(TERM) } {
 	    "frame when width=$width"
     }
 
+    if {$test_macros} {
+	gdb_test "info macro SOME_MACRO" \
+	    "Defined at $base_file_expr:16\r\n#define SOME_MACRO 23"
+    }
+
     gdb_exit
     gdb_spawn



More information about the Gdb-cvs mailing list