diff options
author | Tom Tromey <tom@tromey.com> | 2018-04-17 13:51:23 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-06-01 10:19:55 -0600 |
commit | c1ec8cea7ff53eb76cb7c354b813c67fde755409 (patch) | |
tree | cc7a14ce354e5e4b61058824fe01949600ddc16b /gdb/c-lang.h | |
parent | bc8453a7bb617a5f14a465516f9f87c2ab6e05d5 (diff) | |
download | gdb-c1ec8cea7ff53eb76cb7c354b813c67fde755409.zip gdb-c1ec8cea7ff53eb76cb7c354b813c67fde755409.tar.gz gdb-c1ec8cea7ff53eb76cb7c354b813c67fde755409.tar.bz2 |
Thread language through c_type_print_args
Currently dwarf2read.c will pass the CU's language to
c_type_print_args -- but this doesn't affect all aspects of type
printing, because some code in c-typeprint.c refers to
current_language.
This patch threads the language through more of the type printing
code, adding an overload to c_type_print. Some uses of
current_language remain, but now they are only in top-level functions.
gdb/ChangeLog
2018-06-01 Tom Tromey <tom@tromey.com>
* dwarf2read.c (dwarf2_compute_name): Pass CU's language to
c_print_type.
* c-typeprint.c (c_print_type_1): Add "language" parameter.
(c_print_type): Update.
(c_print_type): New overload.
(c_type_print_varspec_prefix, c_type_print_args)
(c_type_print_varspec_suffix, c_print_type_no_offsets)
(c_type_print_base_struct_union, c_type_print_base_1)
(cp_type_print_method_args): Add "language" parameter.
(c_type_print_base): Update.
* c-lang.h (c_print_type): Add new overload.
Diffstat (limited to 'gdb/c-lang.h')
-rw-r--r-- | gdb/c-lang.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/c-lang.h b/gdb/c-lang.h index 18dedcc..a250fb3 100644 --- a/gdb/c-lang.h +++ b/gdb/c-lang.h @@ -72,6 +72,13 @@ extern void c_print_type (struct type *, const char *, struct ui_file *, int, int, const struct type_print_options *); +/* Print a type but allow the precise language to be specified. */ + +extern void c_print_type (struct type *, const char *, + struct ui_file *, int, int, + enum language, + const struct type_print_options *); + extern void c_print_typedef (struct type *, struct symbol *, struct ui_file *); |