Skip to content

Commit 0e03807

Browse files
author
Tom Tromey
committed
gdb
PR gdb/9977, PR exp/11636: * value.h (value_offset): Update. (struct lval_funcs) <check_validity>: New field. <copy_closure>: Make argument const. (value_computed_closure): Update. (value_contents_for_printing): Declare. (value_bits_valid): Likewise. (val_print): Likewise. (set_value_component_location): Update. (value_entirely_optimized_out): Declare. * value.c (value_offset): Argument now const. (require_not_optimized_out): New function. (value_contents_for_printing): New function. (value_contents_all): Call require_not_optimized_out. (value_contents): Likewise. (value_bits_valid): New function. (value_computed_closure): Argument now const. (set_value_component_location): Make 'whole' argument const. (value_entirely_optimized_out): New function. (value_bitsize): Argument now 'const'. (value_bitpos): Likewise. (value_type): Likewise. * valprint.h (val_print_array_elements): Update. * valprint.c (val_print): Add 'val' argument. Use valprint_check_validity. (valprint_check_validity): New function. (value_check_printable): Use value_entirely_optimized_out. (common_val_print): Update. (value_print): Likewise. (val_print_array_elements): Add 'val' argument. * valops.c (value_fetch_lazy): Use value_contents_for_printing, value_bits_valid. Reinit frame cache for lval_computed. * sh64-tdep.c (sh64_do_register): Update. * scm-valprint.c (scm_val_print): Add 'val' argument. * scm-lang.h (scm_val_print): Update. * python/python.h (apply_val_pretty_printer): Update. * python/py-prettyprint.c (apply_val_pretty_printer): Add 'val' argument. Call set_value_component_location. * printcmd.c (print_scalar_formatted): Update. * p-valprint.c (pascal_val_print): Add 'val' argument. (pascal_object_print_value_fields): Likewise. (pascal_object_print_value): Likewise. (pascal_object_print_static_field): Update. * p-lang.h (pascal_val_print): Update. (pascal_object_print_value_fields): Update. * mt-tdep.c (mt_registers_info): Update. * mi/mi-main.c (get_register): Update. (mi_cmd_data_evaluate_expression): Use common_val_print. * m2-valprint.c (m2_print_array_contents): Add 'val' argument. (m2_print_unbounded_array): Likewise. (m2_val_print): Likewise. * m2-lang.h (m2_val_print): Update. * language.h (struct language_defn) <la_val_print>: Add 'val' argument. (LA_VAL_PRINT): Likewise. * language.c (unk_lang_val_print): Add 'val' argument. * jv-valprint.c (java_print_value_fields): Add 'val' argument. (java_val_print): Likewise. * jv-lang.h (java_val_print): Add 'val' argument. * infcmd.c (default_print_registers_info): Update. * f-valprint.c (f77_print_array_1): Add 'val' argument. (f77_print_array): Likewise. (f_val_print): Likewise. * f-lang.h (f_val_print): Add 'val' argument. * dwarf2loc.c (read_pieced_value): Use value_bitsize and value_bitpos. <DWARF_VALUE_OPTIMIZED_OUT>: Don't print warning. Call set_value_optimized_out. (write_pieced_value): Use value_bitsize and value_bitpos. <default>: Don't exit loop. (check_pieced_value_validity): New function. (pieced_value_funcs): Reference check_pieced_value_validity, check_pieced_value_invalid. (copy_pieced_value_closure): Update. (check_pieced_value_bits): New function. (check_pieced_value_invalid): New function. * d-valprint.c (dynamic_array_type): Add 'val' argument. (d_val_print): Likewise. * d-lang.h (d_val_print): Update. * cp-valprint.c (cp_print_value_fields): Add 'val' argument. (cp_print_value_fields_rtti): Likewise. (cp_print_value): Likewise. (cp_print_static_field): Update. * c-valprint.c (c_val_print): Add 'val' argument. (c_value_print): Update. * c-lang.h (c_val_print): Update. (cp_print_value_fields): Likewise. (cp_print_value_fields_rtti): Likewise. * ada-valprint.c (struct ada_val_print_args): Remove. (val_print_packed_array_elements): Add 'val' argument. (ada_val_print): Likewise. Rewrite. (ada_val_print_stub): Remove. (ada_val_print_array): Add 'val' argument. (ada_val_print_1): Likewise. (print_variant_part): Likewise. (ada_value_print): Update. (print_record): Add 'val' argument. (print_field_values): Likewise. * ada-lang.h (ada_val_print): Update. gdb/testsuite PR gdb/9977, PR exp/11636:: * gdb.dwarf2/pieces.exp (pieces_test_f3): Remove kfail. (pieces_test_f6): Update expected output.
1 parent f654f40 commit 0e03807

35 files changed

Lines changed: 540 additions & 176 deletions

‎gdb/ChangeLog‎

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,105 @@
1+
2010-06-11 Tom Tromey <tromey@redhat.com>
2+
3+
PR gdb/9977, PR exp/11636:
4+
* value.h (value_offset): Update.
5+
(struct lval_funcs) <check_validity>: New field.
6+
<copy_closure>: Make argument const.
7+
(value_computed_closure): Update.
8+
(value_contents_for_printing): Declare.
9+
(value_bits_valid): Likewise.
10+
(val_print): Likewise.
11+
(set_value_component_location): Update.
12+
(value_entirely_optimized_out): Declare.
13+
* value.c (value_offset): Argument now const.
14+
(require_not_optimized_out): New function.
15+
(value_contents_for_printing): New function.
16+
(value_contents_all): Call require_not_optimized_out.
17+
(value_contents): Likewise.
18+
(value_bits_valid): New function.
19+
(value_computed_closure): Argument now const.
20+
(set_value_component_location): Make 'whole' argument const.
21+
(value_entirely_optimized_out): New function.
22+
(value_bitsize): Argument now 'const'.
23+
(value_bitpos): Likewise.
24+
(value_type): Likewise.
25+
* valprint.h (val_print_array_elements): Update.
26+
* valprint.c (val_print): Add 'val' argument. Use
27+
valprint_check_validity.
28+
(valprint_check_validity): New function.
29+
(value_check_printable): Use value_entirely_optimized_out.
30+
(common_val_print): Update.
31+
(value_print): Likewise.
32+
(val_print_array_elements): Add 'val' argument.
33+
* valops.c (value_fetch_lazy): Use value_contents_for_printing,
34+
value_bits_valid. Reinit frame cache for lval_computed.
35+
* sh64-tdep.c (sh64_do_register): Update.
36+
* scm-valprint.c (scm_val_print): Add 'val' argument.
37+
* scm-lang.h (scm_val_print): Update.
38+
* python/python.h (apply_val_pretty_printer): Update.
39+
* python/py-prettyprint.c (apply_val_pretty_printer): Add 'val'
40+
argument. Call set_value_component_location.
41+
* printcmd.c (print_scalar_formatted): Update.
42+
* p-valprint.c (pascal_val_print): Add 'val' argument.
43+
(pascal_object_print_value_fields): Likewise.
44+
(pascal_object_print_value): Likewise.
45+
(pascal_object_print_static_field): Update.
46+
* p-lang.h (pascal_val_print): Update.
47+
(pascal_object_print_value_fields): Update.
48+
* mt-tdep.c (mt_registers_info): Update.
49+
* mi/mi-main.c (get_register): Update.
50+
(mi_cmd_data_evaluate_expression): Use common_val_print.
51+
* m2-valprint.c (m2_print_array_contents): Add 'val' argument.
52+
(m2_print_unbounded_array): Likewise.
53+
(m2_val_print): Likewise.
54+
* m2-lang.h (m2_val_print): Update.
55+
* language.h (struct language_defn) <la_val_print>: Add 'val'
56+
argument.
57+
(LA_VAL_PRINT): Likewise.
58+
* language.c (unk_lang_val_print): Add 'val' argument.
59+
* jv-valprint.c (java_print_value_fields): Add 'val' argument.
60+
(java_val_print): Likewise.
61+
* jv-lang.h (java_val_print): Add 'val' argument.
62+
* infcmd.c (default_print_registers_info): Update.
63+
* f-valprint.c (f77_print_array_1): Add 'val' argument.
64+
(f77_print_array): Likewise.
65+
(f_val_print): Likewise.
66+
* f-lang.h (f_val_print): Add 'val' argument.
67+
* dwarf2loc.c (read_pieced_value): Use value_bitsize and
68+
value_bitpos.
69+
<DWARF_VALUE_OPTIMIZED_OUT>: Don't print warning. Call
70+
set_value_optimized_out.
71+
(write_pieced_value): Use value_bitsize and value_bitpos.
72+
<default>: Don't exit loop.
73+
(check_pieced_value_validity): New function.
74+
(pieced_value_funcs): Reference check_pieced_value_validity,
75+
check_pieced_value_invalid.
76+
(copy_pieced_value_closure): Update.
77+
(check_pieced_value_bits): New function.
78+
(check_pieced_value_invalid): New function.
79+
* d-valprint.c (dynamic_array_type): Add 'val' argument.
80+
(d_val_print): Likewise.
81+
* d-lang.h (d_val_print): Update.
82+
* cp-valprint.c (cp_print_value_fields): Add 'val' argument.
83+
(cp_print_value_fields_rtti): Likewise.
84+
(cp_print_value): Likewise.
85+
(cp_print_static_field): Update.
86+
* c-valprint.c (c_val_print): Add 'val' argument.
87+
(c_value_print): Update.
88+
* c-lang.h (c_val_print): Update.
89+
(cp_print_value_fields): Likewise.
90+
(cp_print_value_fields_rtti): Likewise.
91+
* ada-valprint.c (struct ada_val_print_args): Remove.
92+
(val_print_packed_array_elements): Add 'val' argument.
93+
(ada_val_print): Likewise. Rewrite.
94+
(ada_val_print_stub): Remove.
95+
(ada_val_print_array): Add 'val' argument.
96+
(ada_val_print_1): Likewise.
97+
(print_variant_part): Likewise.
98+
(ada_value_print): Update.
99+
(print_record): Add 'val' argument.
100+
(print_field_values): Likewise.
101+
* ada-lang.h (ada_val_print): Update.
102+
1103
2010-06-11 Tom Tromey <tromey@redhat.com>
2104

3105
* vec.h (VEC_cleanup): New macro.

‎gdb/ada-lang.h‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ extern void ada_print_typedef (struct type *type, struct symbol *new_symbol,
164164

165165
extern int ada_val_print (struct type *, const gdb_byte *, int, CORE_ADDR,
166166
struct ui_file *, int,
167+
const struct value *,
167168
const struct value_print_options *);
168169

169170
extern int ada_value_print (struct value *, struct ui_file *,

0 commit comments

Comments
 (0)