diff options
author | Philippe Waroquiers <philippe.waroquiers@skynet.be> | 2019-01-10 22:31:07 +0100 |
---|---|---|
committer | Philippe Waroquiers <philippe.waroquiers@skynet.be> | 2019-02-12 19:59:39 +0100 |
commit | ac8c53cc67724f990003009fd37a3d7dc662fcb3 (patch) | |
tree | 0f206aad70d0de7cc14022a51c8a1ebc52d217a3 /gdb | |
parent | e486594504d72a3afa199392a9d95a56ef1d6293 (diff) | |
download | gdb-ac8c53cc67724f990003009fd37a3d7dc662fcb3.zip gdb-ac8c53cc67724f990003009fd37a3d7dc662fcb3.tar.gz gdb-ac8c53cc67724f990003009fd37a3d7dc662fcb3.tar.bz2 |
Use function_name_style to print Ada and C function names
Note that ada-typeprint.c print_func_type is called with
types representing functions and is also called to print
a function NAME together with its type. In such a case, the function
name will be printed using function name style.
Similarly, c_print_type_1 is called to print a type, optionally
with the name of an object of this type in the VARSTRING arg.
So, c_print_type_1 uses function name style to print varstring
when the type code indicates that c_print_type_1 TYPE is some
'real code'.
gdb/ChangeLog
2019-02-12 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* ada-typeprint.c (print_func_type): Print function name
style to print function name.
* c-typeprint.c (c_print_type_1): Likewise.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/ada-typeprint.c | 6 | ||||
-rw-r--r-- | gdb/c-typeprint.c | 8 |
3 files changed, 17 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4ab3af0..20953e5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2019-02-12 Philippe Waroquiers <philippe.waroquiers@skynet.be> + + * ada-typeprint.c (print_func_type): Print function name + style to print function name. + * c-typeprint.c (c_print_type_1): Likewise. + 2019-02-11 Alan Hayward <alan.hayward@arm.com> * aarch64-linux-tdep.c (aarch64_linux_get_syscall_number): Check diff --git a/gdb/ada-typeprint.c b/gdb/ada-typeprint.c index 2b6cdaf..8c42e81 100644 --- a/gdb/ada-typeprint.c +++ b/gdb/ada-typeprint.c @@ -30,6 +30,7 @@ #include "language.h" #include "demangle.h" #include "c-lang.h" +#include "cli/cli-style.h" #include "typeprint.h" #include "target-float.h" #include "ada-lang.h" @@ -779,7 +780,10 @@ print_func_type (struct type *type, struct ui_file *stream, const char *name, fprintf_filtered (stream, "function"); if (name != NULL && name[0] != '\0') - fprintf_filtered (stream, " %s", name); + { + fputs_filtered (" ", stream); + fputs_styled (name, function_name_style.style (), stream); + } if (len > 0) { diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c index 5e7e672..6690ca5 100644 --- a/gdb/c-typeprint.c +++ b/gdb/c-typeprint.c @@ -28,6 +28,7 @@ #include "language.h" #include "demangle.h" #include "c-lang.h" +#include "cli/cli-style.h" #include "typeprint.h" #include "cp-abi.h" #include "cp-support.h" @@ -115,6 +116,7 @@ c_print_type_1 (struct type *type, type = check_typedef (type); local_name = typedef_hash_table::find_typedef (flags, type); + code = TYPE_CODE (type); if (local_name != NULL) { fputs_filtered (local_name, stream); @@ -124,7 +126,6 @@ c_print_type_1 (struct type *type, else { c_type_print_base_1 (type, stream, show, level, language, flags, podata); - code = TYPE_CODE (type); if ((varstring != NULL && *varstring != '\0') /* Need a space if going to print stars or brackets; but not if we will print just a type name. */ @@ -144,7 +145,10 @@ c_print_type_1 (struct type *type, if (varstring != NULL) { - fputs_filtered (varstring, stream); + if (code == TYPE_CODE_FUNC || code == TYPE_CODE_METHOD) + fputs_styled (varstring, function_name_style.style (), stream); + else + fputs_filtered (varstring, stream); /* For demangled function names, we have the arglist as part of the name, so don't print an additional pair of ()'s. */ |