+
+ Centralize printing "<optimized out>".
+
+ * valprint.h (val_print_optimized_out): Declare.
+ * cp-valprint.c (cp_print_value_fields): Use
+ val_print_optimized_out.
+ * jv-valprint.c (java_print_value_fields): Ditto.
+ * p-valprint.c (pascal_object_print_value_fields): Ditto.
+ * printcmd.c (print_formatted): Ditto.
+ * valprint.c (valprint_check_validity): Ditto.
+ (value_check_printable): Ditto.
+ (val_print_optimized_out): New.
+
* infcmd.c (default_print_registers_info): Allocate values so to
TYPE_FIELD_BITPOS (type, i),
TYPE_FIELD_BITSIZE (type, i)))
{
- fputs_filtered (_("<value optimized out>"), stream);
+ val_print_optimized_out (stream);
}
else
{
struct value *v = value_static_field (type, i);
if (v == NULL)
- fputs_filtered ("<optimized out>", stream);
+ val_print_optimized_out (stream);
else
cp_print_static_field (TYPE_FIELD_TYPE (type, i),
v, stream, recurse + 1,
+
+ * gdb.texinfo: s/value optimized out/optimized out/g
+
* gdb.texinfo (Other Misc Settings): Rework part of the
@kbd{set print frame-arguments} in @ref{Print Settings} for more details
on how to configure the way function parameter values are printed.
-@cindex value optimized out, in backtrace
+@cindex optimized out, in backtrace
@cindex function call arguments, optimized out
If your program was compiled with optimizations, some compilers will
optimize away arguments passed to functions if those arguments are
@group
#0 m4_traceon (obs=0x24eb0, argc=1, argv=0x2b8c8)
at builtin.c:993
-#1 0x6e38 in expand_macro (sym=<value optimized out>) at macro.c:242
-#2 0x6840 in expand_token (obs=0x0, t=<value optimized out>, td=0xf7fffb08)
+#1 0x6e38 in expand_macro (sym=<optimized out>) at macro.c:242
+#2 0x6840 in expand_token (obs=0x0, t=<optimized out>, td=0xf7fffb08)
at macro.c:71
(More stack frames follow...)
@end group
@noindent
The values of arguments that were not saved in their stack frames are
-shown as @samp{<value optimized out>}.
+shown as @samp{<optimized out>}.
If you need to display the values of such optimized-out arguments,
either deduce that from other variables whose values depend on the one
else if (!value_bits_valid (val, TYPE_FIELD_BITPOS (type, i),
TYPE_FIELD_BITSIZE (type, i)))
{
- fputs_filtered (_("<value optimized out>"), stream);
+ val_print_optimized_out (stream);
}
else
{
struct value *v = value_static_field (type, i);
if (v == NULL)
- fputs_filtered ("<optimized out>", stream);
+ val_print_optimized_out (stream);
else
{
struct value_print_options opts;
else if (!value_bits_valid (val, TYPE_FIELD_BITPOS (type, i),
TYPE_FIELD_BITSIZE (type, i)))
{
- fputs_filtered (_("<value optimized out>"), stream);
+ val_print_optimized_out (stream);
}
else
{
unpack_field_as_long (type, valaddr + offset, i));
if (v == NULL)
- fputs_filtered ("<optimized out>", stream);
+ val_print_optimized_out (stream);
else
pascal_object_print_static_field (v, stream, recurse + 1,
options);
+
+ * gdb.base/frame-args.exp: Adjust.
+ * gdb.dwarf2/dw2-noloc.exp: Adjust.
+ * gdb.dwarf2/dw2-inline-param.exp: Adjust.
+ * gdb.dwarf2/pieces.exp: Adjust.
+ * gdb.opt/clobbered-registers-O2.exp: Adjust.
+ * gdb.opt/inline-locals.exp: Adjust.
+ * gdb.threads/fork-child-threads.exp: Adjust.
+
* gdb.opencl/convs_casts.cl: Move program scope variables into the
gdb_test_no_output "set print frame-arguments all" \
"set print frame-arguments all"
gdb_test "frame 1" \
- ".*in call_me \\(i=3, f=5, s=({a = 3, b = 5}|<value optimized out>), ss=0x\[0-9a-f\]\+, u=({.*}|<value optimized out>), e=green\\) at .*frame-args\\.c:.*" \
+ ".*in call_me \\(i=3, f=5, s=({a = 3, b = 5}|<optimized out>), ss=0x\[0-9a-f\]\+, u=({.*}|<optimized out>), e=green\\) at .*frame-args\\.c:.*" \
"frame 1 with print frame-arguments set to all"
# Test with "print frame-arguments" set to "scalars"
return -1
}
-gdb_test "bt" "#0 (0x\[0-9a-f\]+ in )?func \\(funcparam=<value optimized out>\\)\r\n#1 main \\(mainparam=<value optimized out>\\)\[^\r\n\]*"
+gdb_test "bt" "#0 (0x\[0-9a-f\]+ in )?func \\(funcparam=<optimized out>\\)\r\n#1 main \\(mainparam=<optimized out>\\)\[^\r\n\]*"
gdb_test "print file_locaddr_unresolvable" "= 1234567890"
gdb_test "ptype file_locaddr_unresolvable" "type = int"
- gdb_test "print file_locempty_resolvable" "= <value optimized out>"
+ gdb_test "print file_locempty_resolvable" "= <optimized out>"
gdb_test "ptype file_locempty_resolvable" "type = int"
- gdb_test "print file_locempty_unresolvable" "= <value optimized out>"
+ gdb_test "print file_locempty_unresolvable" "= <optimized out>"
gdb_test "ptype file_locempty_unresolvable" "type = int"
- gdb_test "print file_locno_resolvable" "= <value optimized out>"
+ gdb_test "print file_locno_resolvable" "= <optimized out>"
gdb_test "ptype file_locno_resolvable" "type = int"
- gdb_test "print file_locno_unresolvable" "= <value optimized out>"
+ gdb_test "print file_locno_unresolvable" "= <optimized out>"
gdb_test "ptype file_locno_unresolvable" "type = int"
gdb_test "print file_extern_locaddr_resolvable" "= 1234567890"
gdb_test "print file_extern_locaddr_unresolvable" "= 1234567890"
gdb_test "ptype file_extern_locaddr_unresolvable" "type = int"
- gdb_test "print file_extern_locempty_resolvable" "= <value optimized out>"
+ gdb_test "print file_extern_locempty_resolvable" "= <optimized out>"
gdb_test "ptype file_extern_locempty_resolvable" "type = int"
- gdb_test "print file_extern_locempty_unresolvable" "= <value optimized out>"
+ gdb_test "print file_extern_locempty_unresolvable" "= <optimized out>"
gdb_test "ptype file_extern_locempty_unresolvable" "type = int"
gdb_test "print file_extern_locno_resolvable" "= 1234567890"
# `print file_extern_locno_unresolvable' currently prints
# Address of symbol "file_extern_locno_unresolvable" is unknown.
# As DW_AT_declaration is not present in this DIE
- # it should print <value optimized out>. As usefulness of such DIE is not
+ # it should print <optimized out>. As usefulness of such DIE is not
# clear its resolution is not being tested.
set pf_prefix $old_prefix
gdb_test "print main_local_locaddr_unresolvable" "= 1234567890"
gdb_test "ptype main_local_locaddr_unresolvable" "type = int"
-gdb_test "print main_local_locempty_resolvable" "= <value optimized out>"
+gdb_test "print main_local_locempty_resolvable" "= <optimized out>"
gdb_test "ptype main_local_locempty_resolvable" "type = int"
-gdb_test "print main_local_locempty_unresolvable" "= <value optimized out>"
+gdb_test "print main_local_locempty_unresolvable" "= <optimized out>"
gdb_test "ptype main_local_locempty_unresolvable" "type = int"
-gdb_test "print main_local_locno_resolvable" "= <value optimized out>"
+gdb_test "print main_local_locno_resolvable" "= <optimized out>"
gdb_test "ptype main_local_locno_resolvable" "type = int"
-gdb_test "print main_local_locno_unresolvable" "= <value optimized out>"
+gdb_test "print main_local_locno_unresolvable" "= <optimized out>"
gdb_test "ptype main_local_locno_unresolvable" "type = int"
gdb_test "print main_extern_locaddr_resolvable" "= 1234567890"
gdb_test "print main_extern_locaddr_unresolvable" "= 1234567890"
gdb_test "ptype main_extern_locaddr_unresolvable" "type = int"
-gdb_test "print main_extern_locempty_resolvable" "= <value optimized out>"
+gdb_test "print main_extern_locempty_resolvable" "= <optimized out>"
gdb_test "ptype main_extern_locempty_resolvable" "type = int"
-gdb_test "print main_extern_locempty_unresolvable" "= <value optimized out>"
+gdb_test "print main_extern_locempty_unresolvable" "= <optimized out>"
gdb_test "ptype main_extern_locempty_unresolvable" "type = int"
gdb_test "print main_extern_locno_resolvable" "= 1234567890"
"set f6 breakpoint for pieces"
gdb_continue_to_breakpoint "continue to f6 breakpoint for pieces"
gdb_test "print a" \
- " = {i = 7, j = 8, q = .value optimized out.}" \
+ " = {i = 7, j = 8, q = .optimized out.}" \
"print a with optimized out piece"
# Note: no warning for this case.
gdb_test_multiple "print a.i" \
gdb_test "frame 1" "#1.*in gen_movsd.*" "Backtracing"
gdb_test_multiple "print operand0" "print operand0" {
- -re "\\\$$decimal = <value optimized out>\r\n$gdb_prompt $" { pass "print operand0"}
+ -re "\\\$$decimal = <optimized out>\r\n$gdb_prompt $" { pass "print operand0"}
-re "$hex\r\n$gdb_prompt $" { gdb_test "print *operand0" "13" "print operand0" }
}
gdb_test_multiple "print operand1" "print operand1" {
- -re "\\\$$decimal = <value optimized out>\r\n$gdb_prompt $" { pass "print operand1"}
+ -re "\\\$$decimal = <optimized out>\r\n$gdb_prompt $" { pass "print operand1"}
-re "$hex\r\n$gdb_prompt $" { gdb_test "print *operand1" "14" "print operand1" }
}
-re "arg1 = $decimal\r\n$gdb_prompt $" {
pass $msg
}
- -re "arg1 = <value optimized out>\r\n$gdb_prompt $" {
+ -re "arg1 = <optimized out>\r\n$gdb_prompt $" {
# GCC 4.3 and later lose location information for arg1. GCC 4.2 is OK.
if { [test_compiler_info "gcc-4-3-*"] || [test_compiler_info "gcc-4-4-*"]} {
setup_xfail *-*-*
-re "arg1 = $decimal\r\n$gdb_prompt $" {
pass $msg
}
- -re "arg1 = <value optimized out>\r\n$gdb_prompt $" {
+ -re "arg1 = <optimized out>\r\n$gdb_prompt $" {
# GCC 4.3 and later lose location information for arg1. GCC 4.2 is OK.
if { [test_compiler_info "gcc-4-3-*"] || [test_compiler_info "gcc-4-4-*"]} {
setup_xfail *-*-*
# * 2 LWP 4466 start (arg=0x0) at fork-child-threads.c:28
# Correct:
# * 3 Thread 0x40a00950 (LWP 5553) start (arg=0x0) at ../.././gdb/testsuite/gdb.threads/fork-child-threads.c:28
-# 2 Thread 0x2aaaaaac3000 (LWP 5552) 0x00000031674076dd in pthread_join (threadid=<value optimized out>, thread_return=<value optimized out>) at pthread_join.c:89
+# 2 Thread 0x2aaaaaac3000 (LWP 5552) 0x00000031674076dd in pthread_join (threadid=<optimized out>, thread_return=<optimized out>) at pthread_join.c:89
gdb_test "info threads" " Thread .* Thread .*" "two threads found"
if (! value_bits_valid (val, TARGET_CHAR_BIT * offset,
TARGET_CHAR_BIT * TYPE_LENGTH (type)))
{
- fprintf_filtered (stream, _("<value optimized out>"));
+ val_print_optimized_out (stream);
return 0;
}
return 1;
}
+void
+val_print_optimized_out (struct ui_file *stream)
+{
+ fprintf_filtered (stream, _("<optimized out>"));
+}
+
/* Print using the given LANGUAGE the data of type TYPE located at VALADDR
(within GDB), which came from the inferior at address ADDRESS, onto
stdio stream STREAM according to OPTIONS.
if (value_entirely_optimized_out (val))
{
- fprintf_filtered (stream, _("<value optimized out>"));
+ val_print_optimized_out (stream);
return 0;
}
enum bfd_endian byte_order, gdb_byte **buffer,
int *bytes_read);
+extern void val_print_optimized_out (struct ui_file *stream);
+
#endif