Add styling to macro commands
authorTom Tromey <tom@tromey.com>
Fri, 8 Feb 2019 08:28:53 +0000 (01:28 -0700)
committerTom Tromey <tom@tromey.com>
Sun, 17 Feb 2019 23:28:38 +0000 (16:28 -0700)
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.

gdb/ChangeLog
gdb/macrocmd.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/style.c
gdb/testsuite/gdb.base/style.exp

index b9af73f..882546a 100644 (file)
@@ -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.
 
index beb9b78..3313e65 100644 (file)
@@ -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;
     }
index 88c6a6c..f50f1e3 100644 (file)
@@ -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.
 
index 53f6596..a44936e 100644 (file)
@@ -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)
 {
index 010d959..2778001 100644 (file)
@@ -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