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.
This commit is contained in:
Tom Tromey
2019-02-08 01:28:53 -07:00
parent 0c820d6793
commit 6506371f06
5 changed files with 33 additions and 4 deletions

View File

@@ -1,3 +1,7 @@
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:

View 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;
}

View File

@@ -1,3 +1,9 @@
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.

View 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)
{

View 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