Tom Tromey
426a9c18dd
Remove val_print
...
We can finally remove val_print and various helper functions that are
no longer needed.
gdb/ChangeLog
2020-03-13 Tom Tromey <tom@tromey.com>
* value.h (val_print): Don't declare.
* valprint.h (val_print_array_elements)
(val_print_scalar_formatted, generic_val_print): Don't declare.
* valprint.c (generic_val_print_array): Take a struct value.
(generic_val_print_ptr, generic_val_print_memberptr)
(generic_val_print_bool, generic_val_print_int)
(generic_val_print_char, generic_val_print_complex)
(generic_val_print): Remove.
(generic_value_print): Update.
(do_val_print): Remove unused parameters. Don't call
la_val_print.
(val_print): Remove.
(common_val_print): Update. Don't call value_check_printable.
(val_print_scalar_formatted, val_print_array_elements): Remove.
* rust-lang.c (rust_val_print): Remove.
(rust_language_defn): Update.
* p-valprint.c (pascal_val_print): Remove.
(pascal_value_print_inner): Update.
(pascal_object_print_val_fields, pascal_object_print_val):
Remove.
(pascal_object_print_static_field): Update.
* p-lang.h (pascal_val_print): Don't declare.
* p-lang.c (pascal_language_defn): Update.
* opencl-lang.c (opencl_language_defn): Update.
* objc-lang.c (objc_language_defn): Update.
* m2-valprint.c (m2_print_unbounded_array, m2_val_print): Remove.
* m2-lang.h (m2_val_print): Don't declare.
* m2-lang.c (m2_language_defn): Update.
* language.h (struct language_defn) <la_val_print>: Remove.
* language.c (unk_lang_value_print_inner): Rename. Change
argument types.
(unknown_language_defn, auto_language_defn): Update.
* go-valprint.c (go_val_print): Remove.
* go-lang.h (go_val_print): Don't declare.
* go-lang.c (go_language_defn): Update.
* f-valprint.c (f_val_print): Remove.
* f-lang.h (f_value_print): Don't declare.
* f-lang.c (f_language_defn): Update.
* d-valprint.c (d_val_print): Remove.
* d-lang.h (d_value_print): Don't declare.
* d-lang.c (d_language_defn): Update.
* cp-valprint.c (cp_print_value_fields)
(cp_print_value_fields_rtti, cp_print_value): Remove.
(cp_print_static_field): Update.
* c-valprint.c (c_val_print_array, c_val_print_ptr)
(c_val_print_struct, c_val_print_union, c_val_print_int)
(c_val_print_memberptr, c_val_print): Remove.
* c-lang.h (c_val_print_array, cp_print_value_fields)
(cp_print_value_fields_rtti): Don't declare.
* c-lang.c (c_language_defn, cplus_language_defn)
(asm_language_defn, minimal_language_defn): Update.
* ada-valprint.c (ada_val_print_ptr, ada_val_print_num): Remove.
(ada_val_print_enum): Take a struct value.
(ada_val_print_flt, ada_val_print_array, ada_val_print_1)
(ada_val_print): Remove.
(ada_value_print_1): Update.
(printable_val_type): Remove.
* ada-lang.h (ada_val_print): Don't declare.
* ada-lang.c (ada_language_defn): Update.
2020-03-13 18:03:42 -06:00
Tom Tromey
23b0f06be4
Convert Go printing to value-based API
...
This introduces go_value_print_inner, a modified copy of go_val_print.
Unlike some of the other languages, Go was straightforward to convert
to the value-based API all at once, so this patch takes that approach.
gdb/ChangeLog
2020-03-13 Tom Tromey <tom@tromey.com>
* go-valprint.c (go_value_print_inner): New function.
* go-lang.h (go_value_print_inner): Declare.
* go-lang.c (go_language_defn): Use go_value_print_inner.
2020-03-13 18:03:40 -06:00
Joel Brobecker
b811d2c292
Update copyright year range in all GDB files.
...
gdb/ChangeLog:
Update copyright year range in all GDB files.
2020-01-01 10:20:53 +04:00
Tom Tromey
2dbc041e4e
Use metadata style in a few more places
...
I happened to find a few more spots that should use metadata style,
but do not. I missed these in my earlier search somehow. This patch
also adds gettext markup in a couple of spots where it was missing.
gdb/ChangeLog
2019-12-04 Tom Tromey <tom@tromey.com>
* valprint.c (val_print_string): Use metadata_style.
* go-valprint.c (print_go_string): Use metadata style.
* p-valprint.c (pascal_object_print_static_field): Use metadata
style.
* cp-valprint.c (cp_print_static_field): Use metadata style.
Change-Id: Id82ca2aa306c6694b111d5c92dfa6f0cce919ebf
2019-12-04 14:27:36 -07:00
Joel Brobecker
42a4f53d2b
Update copyright year range in all GDB files.
...
This commit applies all changes made after running the gdb/copyright.py
script.
Note that one file was flagged by the script, due to an invalid
copyright header
(gdb/unittests/basic_string_view/element_access/char/empty.cc).
As the file was copied from GCC's libstdc++-v3 testsuite, this commit
leaves this file untouched for the time being; a patch to fix the header
was sent to gcc-patches first.
gdb/ChangeLog:
Update copyright year range in all GDB files.
2019-01-01 10:01:51 +04:00
Joel Brobecker
e2882c8578
Update copyright year range in all GDB files
...
gdb/ChangeLog:
Update copyright year range in all GDB files
2018-01-02 07:38:06 +04:00
Joel Brobecker
61baf725ec
update copyright year range in GDB files
...
This applies the second part of GDB's End of Year Procedure, which
updates the copyright year range in all of GDB's files.
gdb/ChangeLog:
Update copyright year range in all GDB files.
2017-01-01 10:52:34 +04:00
Yao Qi
e8b24d9ff5
Remove parameter valaddr from la_val_print
...
Nowadays, we pass both val and return value of
value_contents_for_printing (val) to la_val_print. The latter is
unnecessary. This patch removes the second parameter of la_val_print,
and get valaddr in each language's implementation by calling
value_contents_for_printing. Since value_contents_for_printing calls
value_fetch_lazy, I also make VAL non-const.
Note that
- I don't clean up the valaddr usages in each language's routines,
- I don't remove valaddr from apply_ext_lang_val_pretty_printer, and
extension language ops apply_val_pretty_printer.
They can be done in followup patches.
gdb:
2016-11-08 Yao Qi <yao.qi@linaro.org>
* ada-lang.h (ada_val_print): Remove second parameter. Remove
const from "struct value *".
* ada-valprint.c (print_field_values): Remove const from
"struct value *".
(val_print_packed_array_elements): Likewise.
(print_variant_part): Likewise.
(ada_val_print_string): Likewise.
(ada_val_print_gnat_array): Likewise.
(ada_val_print_ptr): Likewise.
(ada_val_print_num): Likewise.
(ada_val_print_enum): Likewise.
(ada_val_print_flt): Likewise.
(ada_val_print_union): Likewise.
(ada_val_print_struct_union): Likewise.
(ada_val_print_ref): Likewise.
(ada_val_print_1): Remove second parameter. Remove const from
"struct value *".
(ada_val_print): Likewise.
* c-lang.h (c_val_print): Likewise.
* c-valprint.c (c_val_print_array): Remove const from
"struct value *".
(c_val_print_ptr): Likewise.
(c_val_print_struct): Likewise.
(c_val_print_union): Likewise.
(c_val_print_int): Likewise.
(c_val_print_memberptr): Likewise.
(c_val_print): Remove second parameter. Remove const from
"struct value *". All callers updated.
* cp-valprint.c (cp_print_value): Remove const from
"struct value *".
(cp_print_value_fields): Likewise.
(c_val_print_value): Likewise.
* d-lang.h (d_val_print): Remove second parameter. Remove const
from "struct value *".
* d-valprint.c (dynamic_array_type): Likewise.
(d_val_print): Likewise.
* f-lang.h (f_val_print): Likewise.
* f-valprint.c (f_val_print): Likewise.
* go-lang.h (go_val_print): Likewise.
* go-valprint.c (print_go_string): Likewise.
(go_val_print): Likewise.
* language.c (unk_lang_val_print): Likewise.
* language.h (struct language_defn) <la_val_print>: Likewise.
Update comments.
(LA_VAL_PRINT): Remove.
* m2-lang.h (m2_val_print): Remove const from
"struct value *".
* m2-valprint.c (m2_print_array_contents): Likewise.
(m2_val_print): Likewise.
* p-lang.h (pascal_val_print): Remove second parameter. Remove
const from "struct value *".
(pascal_object_print_value_fields): Likewise.
* p-valprint.c (pascal_val_print): Likewise.
(pascal_object_print_value_fields): Likewise.
(pascal_object_print_value): Likewise.
* rust-lang.c (rust_get_disr_info): Likewise.
(val_print_struct): Likewise.
(rust_val_print): Likewise.
* valprint.c (generic_val_print_array): Likewise.
(generic_val_print_ptr): Likewise.
(generic_val_print_memberptr): Likewise.
(generic_val_print_ref): Likewise.
(generic_val_print_enum): Likewise.
(generic_val_print_flags): Likewise.
(generic_val_print_func): Likewise.
(generic_val_print_bool): Likewise.
(generic_val_print_int): Likewise.
(generic_val_print_char): Likewise.
(generic_val_print_float): Likewise.
(generic_val_print_decfloat): Likewise.
(generic_val_print_complex): Likewise.
(generic_val_print): Likewise.
(val_print): Likewise.
(common_val_print): Likewise.
(val_print_type_code_flags): Likewise.
(val_print_scalar_formatted): Likewise.
(val_print_array_elements): Likewise.
* valprint.h (val_print_array_elements): Update declaration.
(val_print_scalar_formatted): Likewise.
(generic_val_print): Likewise.
* value.h (val_print): Likewise.
2016-11-08 16:02:42 +00:00
David Taylor
6b8505468e
Support structure offsets that are 512K or larger.
...
GDB computes structure byte offsets using a 32 bit integer. And,
first it computes the offset in bits and then converts to bytes. The
result is that any offset that if 512K bytes or larger overflows.
This patch changes GDB to use LONGEST for such calculations.
PR gdb/17520 Structure offset wrong when 1/4 GB or greater.
* c-lang.h: Change all parameters, variables, and struct or union
members used as struct or union fie3ld offsets from int to
LONGEST.
* c-valprint.c: Likewise.
* cp-abi.c: Likewise.
* cp-abi.h: Likewise.
* cp-valprint.c: Likewise.
* d-valprint.c: Likewise.
* dwarf2loc.c: Likewise.
* eval.c: Likewise.
* extension-priv.h: Likewise.
* extension.c: Likewise.
* extension.h: Likewise.
* findvar.c: Likewise.
* gdbtypes.h: Likewise.
* gnu-v2-abi.c: Likewise.
* gnu-v3-abi.c: Likewise.
* go-valprint.c: Likewise.
* guile/guile-internal.h: Likewise.
* guile/scm-pretty-print.c: Likewise.
* jv-valprint.c Likewise.
* opencl-lang.c: Likewise.
* p-lang.h: Likewise.
* python/py-prettyprint.c: Likewise.
* python/python-internal.h: Likewise.
* spu-tdep.c: Likewise.
* typeprint.c: Likewise.
* valarith.c: Likewise.
* valops.c: Likewise.
* valprint.c: Likewise.
* valprint.h: Likewise.
* value.c: Likewise.
* value.h: Likewise.
* p-valprint.c: Likewise.
* c-typeprint.c (c_type_print_base): When printing offset, use
plongest, not %d.
* gdbtypes.c (recursive_dump_type): Ditto.
2016-06-24 21:02:36 -04:00
Joel Brobecker
618f726fcb
GDB copyright headers update after running GDB's copyright.py script.
...
gdb/ChangeLog:
Update year range in copyright notice of all files.
2016-01-01 08:43:22 +04:00
Simon Marchi
f168693bc9
Remove CHECK_TYPEDEF, use check_typedef instead
...
I think that the CHECK_TYPEDEF macro is not necessary, and even a bit
annoying. It makes unclear the fact that the "type" variables gets
overwritten. It has actually bitten me a few times. I think the
following, explicit form, is better.
type = check_typedef (type);
This patches changes all instances of CHECK_TYPEDEF for an equivalent
call to check_typedef. The bulk of the change was done with this sed:
sed -i 's/CHECK_TYPEDEF (\([^)]*\));/\1 = check_typedef (\1);/' <file>.c
The ChangeLog was generated using David Malcom's generate_changelog.py.
I manually fixed those places where it gets the wrong function name,
hopefully all of them.
The patch was built-tested, and I ran a few smoke tests.
gdb/ChangeLog:
* gdbtypes.h (CHECK_TYPEDEF): Remove.
* aarch64-tdep.c (aarch64_return_in_memory): Replace CHECK_TYPEDEF
with check_typedef.
* ada-lang.c (decode_constrained_packed_array_type): Likewise.
(ada_array_length): Likewise.
(find_parallel_type_by_descriptive_type): Likewise.
(ada_check_typedef): Likewise.
* arm-tdep.c (arm_return_in_memory): Likewise.
* ax-gdb.c (gen_trace_static_fields): Likewise.
(gen_struct_ref_recursive): Likewise.
* c-exp.y (exp : SIZEOF '(' type ')' %prec UNARY): Likewise.
(variable: block COLONCOLON name): Likewise.
(qualified_name: TYPENAME COLONCOLON name): Likewise.
* c-lang.c (classify_type): Likewise.
* c-typeprint.c (c_print_type): Likewise.
(c_print_typedef): Likewise.
(c_type_print_base): Likewise.
* c-valprint.c (c_val_print): Likewise.
* compile/compile-c-types.c (convert_type): Likewise.
* compile/compile-object-load.c (get_out_value_type): Likewise.
* completer.c (add_struct_fields): Likewise.
(expression_completer): Likewise.
* cp-namespace.c (cp_find_type_baseclass_by_name): Likewise.
(cp_lookup_nested_symbol_1): Likewise.
(cp_lookup_nested_symbol): Likewise.
* cp-valprint.c (cp_print_value_fields): Likewise.
(cp_print_static_field): Likewise.
* d-valprint.c (d_val_print): Likewise.
* eval.c (evaluate_subexp_standard): Likewise.
(evaluate_subexp_for_sizeof): Likewise.
* f-exp.y (exp : SIZEOF '(' type ')' %prec UNARY): Likewise.
* f-typeprint.c (f_type_print_base): Likewise.
* f-valprint.c (f_val_print): Likewise.
* gdbtypes.c (get_discrete_bounds): Likewise.
(create_array_type_with_stride): Likewise.
(type_name_no_tag_or_error): Likewise.
(lookup_struct_elt_type): Likewise.
(get_unsigned_type_max): Likewise.
(internal_type_vptr_fieldno): Likewise.
(set_type_vptr_fieldno): Likewise.
(internal_type_vptr_basetype): Likewise.
(set_type_vptr_basetype): Likewise.
(get_vptr_fieldno): Likewise.
(is_integral_type): Likewise.
(is_scalar_type): Likewise.
(is_scalar_type_recursive): Likewise.
(distance_to_ancestor): Likewise.
(is_unique_ancestor_worker): Likewise.
(check_types_equal): Likewise.
* gnu-v2-abi.c (gnuv2_value_rtti_type): Likewise.
* gnu-v3-abi.c (gnuv3_dynamic_class): Likewise.
(gnuv3_get_vtable): Likewise.
(gnuv3_pass_by_reference): Likewise.
* go-exp.y (exp : SIZEOF_KEYWORD '(' type ')' %prec UNARY): Likewise.
* go-lang.c (gccgo_string_p): Likewise.
(go_classify_struct_type): Likewise.
* go-typeprint.c (go_print_type): Likewise.
* go-valprint.c (go_val_print): Likewise.
* guile/scm-math.c (vlscm_binop): Likewise.
* guile/scm-value.c (gdbscm_value_dynamic_type): Likewise.
(gdbscm_value_to_bytevector): Likewise.
(gdbscm_value_to_bool): Likewise.
(gdbscm_value_to_integer): Likewise.
(gdbscm_value_to_real): Likewise.
* infcall.c (call_function_by_hand_dummy): Likewise.
* infcmd.c (get_return_value): Likewise.
* jv-lang.c (is_object_type): Likewise.
* jv-typeprint.c (java_type_print_base): Likewise.
* jv-valprint.c (java_print_value_fields): Likewise.
(java_val_print): Likewise.
* linespec.c (find_methods): Likewise.
(collect_one_symbol): Likewise.
* m2-typeprint.c (m2_print_type): Likewise.
(m2_print_typedef): Likewise.
(m2_get_discrete_bounds): Likewise.
* m2-valprint.c (m2_print_long_set): Likewise.
(m2_print_unbounded_array): Likewise.
(m2_print_array_contents): Likewise.
(m2_val_print): Likewise.
* opencl-lang.c (opencl_print_type): Likewise.
* p-exp.y (exp : SIZEOF '(' type ')' %prec UNARY): Likewise.
* p-typeprint.c (pascal_print_type): Likewise.
(pascal_print_typedef): Likewise.
(pascal_type_print_base): Likewise.
* p-valprint.c (pascal_val_print): Likewise.
(pascal_object_print_value_fields): Likewise.
(pascal_object_print_static_field): Likewise.
* python/py-type.c (typy_fields_items): Likewise.
(typy_get_composite): Likewise.
* python/py-value.c (valpy_get_dynamic_type): Likewise.
(valpy_binop): Likewise.
(valpy_long): Likewise.
(valpy_float): Likewise.
* stack.c (return_command): Likewise.
* symtab.c (check_field): Likewise.
(lookup_symbol_aux): Likewise.
* tic6x-tdep.c (tic6x_return_value): Likewise.
* typeprint.c (print_type_scalar): Likewise.
* valarith.c (value_vector_widen): Likewise.
* valops.c (value_cast): Likewise.
(value_assign): Likewise.
(do_search_struct_field): Likewise.
(search_struct_method): Likewise.
(find_method_list): Likewise.
* valprint.c (val_print_scalar_type_p): Likewise.
(valprint_check_validity): Likewise.
(generic_val_print): Likewise.
* value.c (unpack_double): Likewise.
(value_primitive_field): Likewise.
(unpack_bits_as_long): Likewise.
2015-07-14 16:42:16 -04:00
Joel Brobecker
32d0add0a6
Update year range in copyright notice of all files owned by the GDB project.
...
gdb/ChangeLog:
Update year range in copyright notice of all files.
2015-01-01 13:32:14 +04:00
Joel Brobecker
ecd75fc8ee
Update Copyright year range in all files maintained by GDB.
2014-01-01 07:54:24 +04:00
Joel Brobecker
28e7fd6234
Update years in copyright notice for the GDB files.
...
Two modifications:
1. The addition of 2013 to the copyright year range for every file;
2. The use of a single year range, instead of potentially multiple
year ranges, as approved by the FSF.
2013-01-01 06:33:28 +00:00
Tom Tromey
b012acddd8
* valprint.c (val_print_string): Don't print leading space.
...
* p-valprint.c (pascal_val_print) <TYPE_CODE_PTR>: Optionally
print space before string or vtbl.
* m2-valprint.c (print_unpacked_pointer): Optionally print space
before string.
* jv-valprint.c (java_value_print): Print space before string.
* go-valprint.c (print_go_string): Print space before string.
* f-valprint.c (f_val_print) <TYPE_CODE_PTR>: Optionally print
space before string.
* c-valprint.c (c_val_print) <TYPE_CODE_PTR>: Optionally print
space before string or vtbl.
* auxv.c (fprint_target_auxv): Print space after address.
2012-05-18 15:29:13 +00:00
Doug Evans
a766d390bb
Initial pass at Go language support.
...
* NEWS: Mention Go.
* Makefile.in (SFILES): Add go-exp.y, go-lang.c, go-typeprint.c,
go-valprint.c.
(COMMON_OBS): Add go-lang.o, go-val.print.o, go-typeprint.o.
(YYFILES): Add go-exp.c.
(YYOBJ): Add go-exp.o.
(local-maintainer-clean): Delete go-exp.c.
* defs.h (enum language): Add language_go.
* dwarf2read.c: #include "go-lang.h".
(fixup_go_packaging): New function.
(process_full_comp_unit): Call it when processing Go CUs.
(dwarf2_physname): Add Go support.
(read_file_scope): Handle missing language spec for GNU Go.
(set_cu_language): Handle DW_LANG_Go.
* go-exp.y: New file.
* go-lang.h: New file.
* go-lang.c: New file.
* go-typeprint.c: New file.
* go-valprint.c: New file.
* symtab.c: #include "go-lang.h".
(symbol_set_language): Handle language_go.
(symbol_find_demangled_name, symbol_set_names): Ditto.
(symbol_natural_name, demangle_for_lookup, find_main_name): Ditto.
testsuite/
* configure.ac: Create gdb.go/Makefile.
* configure: Regenerate.
* gdb.base/default.exp: Add "go" to "set language" testing.
* gdb.go/Makefile.in: New file.
* gdb.go/basic-types.exp: New file.
* gdb.go/chan.exp: New file.
* gdb.go/chan.go: New file.
* gdb.go/handcall.exp: New file.
* gdb.go/handcall.go: New file.
* gdb.go/hello.exp: New file.
* gdb.go/hello.go: New file.
* gdb.go/integers.exp: New file.
* gdb.go/integers.go: New file.
* gdb.go/methods.exp: New file.
* gdb.go/methods.go: New file.
* gdb.go/package.exp: New file.
* gdb.go/package1.go: New file.
* gdb.go/package2.go: New file.
* gdb.go/print.exp: New file.
* gdb.go/strings.exp: New file.
* gdb.go/strings.go: New file.
* gdb.go/types.exp: New file.
* gdb.go/types.go: New file.
* gdb.go/unsafe.exp: New file.
* gdb.go/unsafe.go: New file.
* lib/future.exp: Add Go support.
(gdb_find_go, gdb_find_go_linker): New procs.
(gdb_default_target_compile): Add Go support.
* lib/gdb.exp (skip_go_tests): New proc.
* lib/go.exp: New file.
doc/
* gdb.texinfo (Supported Languages): Add Go.
(Go): New node.
2012-04-25 14:07:23 +00:00