diff options
author | Pedro Alves <pedro@palves.net> | 2022-04-29 23:21:18 +0100 |
---|---|---|
committer | Pedro Alves <pedro@palves.net> | 2022-05-10 14:16:21 +0100 |
commit | 1c6fbf42e5bd3045a41ad32c5efbc2ab8ca5e941 (patch) | |
tree | de24937c9c0144720c3fcd4414b0028f0c0bce7b /gdb/go-typeprint.c | |
parent | cb2cd8cba82a0a5480a147d95b16098ad74d33c6 (diff) | |
download | fsf-binutils-gdb-1c6fbf42e5bd3045a41ad32c5efbc2ab8ca5e941.zip fsf-binutils-gdb-1c6fbf42e5bd3045a41ad32c5efbc2ab8ca5e941.tar.gz fsf-binutils-gdb-1c6fbf42e5bd3045a41ad32c5efbc2ab8ca5e941.tar.bz2 |
Always pass an explicit language down to c_type_print
The next patch will want to do language->print_type(type, ...), to
print a type in a given language, avoiding a dependency on the current
language. That doesn't work correctly currently, however, because
most language implementations of language_defn::print_type call
c_print_type without passing down the language. There are two
overloads of c_print_type, one that takes a language, and one that
does not. The one that does not uses the current language, defeating
the point of calling language->print_type()...
This commit removes the c_print_type overload that does not take a
language, and adjusts the codebase throughout to always pass down a
language. In most places, there's already an enum language handy.
language_defn::print_type implementations naturally pass down
this->la_language. In a couple spots, like in ada-typeprint.c and
rust-lang.c there's no enum language handy, but the code is written
for a specific language, so we just hardcode the language.
In gnuv3_print_method_ptr, I wasn't sure whether we could hardcode C++
here, and we don't have an enum language handy, so I made it use the
current language, just like today. Can always be improved later.
Change-Id: Ib54fab4cf0fd307bfd55bf1dd5056830096a653b
Diffstat (limited to 'gdb/go-typeprint.c')
-rw-r--r-- | gdb/go-typeprint.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/go-typeprint.c b/gdb/go-typeprint.c index f8f155f..4995ac3 100644 --- a/gdb/go-typeprint.c +++ b/gdb/go-typeprint.c @@ -59,5 +59,5 @@ go_language::print_type (struct type *type, const char *varstring, } /* Punt the rest to C for now. */ - c_print_type (type, varstring, stream, show, level, flags); + c_print_type (type, varstring, stream, show, level, la_language, flags); } |