Make "set debug frame 1" use the standard print routine for optimized out values.

...
 - { frame_unwind_register_value (frame=0,regnum=7(rsp),...) -> optimized out }
 + { frame_unwind_register_value (frame=0,regnum=7(rsp),...) -> <optimized out> }
 ...

Tested on x86_64 Fedora 17.

2013-11-27  Andrew Burgess  <aburgess@broadcom.com>

	* frame.c: Include "valprint.h".
	(frame_unwind_register_value): Use value_optimized_out.
	* value.c (value_fetch_lazy): Likewise.
This commit is contained in:
Andrew Burgess 2013-11-27 17:49:59 +00:00 committed by Pedro Alves
parent b35d44f1af
commit f6c01fc515
3 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2013-11-27 Andrew Burgess <aburgess@broadcom.com>
* frame.c: Include "valprint.h".
(frame_unwind_register_value): Use value_optimized_out.
* value.c (value_fetch_lazy): Likewise.
2013-11-26 Andrew Burgess <aburgess@broadcom.com>
* value.c (allocate_optimized_out_value): Mark value as non-lazy.

View File

@ -44,6 +44,7 @@
#include "inline-frame.h"
#include "tracepoint.h"
#include "hashtab.h"
#include "valprint.h"
static struct frame_info *get_prev_frame_1 (struct frame_info *this_frame);
static struct frame_info *get_prev_frame_raw (struct frame_info *this_frame);
@ -1047,7 +1048,10 @@ frame_unwind_register_value (struct frame_info *frame, int regnum)
{
fprintf_unfiltered (gdb_stdlog, "->");
if (value_optimized_out (value))
fprintf_unfiltered (gdb_stdlog, " optimized out");
{
fprintf_unfiltered (gdb_stdlog, " ");
val_print_optimized_out (value, gdb_stdlog);
}
else
{
if (VALUE_LVAL (value) == lval_register)

View File

@ -3572,7 +3572,10 @@ value_fetch_lazy (struct value *val)
fprintf_unfiltered (gdb_stdlog, "->");
if (value_optimized_out (new_val))
fprintf_unfiltered (gdb_stdlog, " optimized out");
{
fprintf_unfiltered (gdb_stdlog, " ");
val_print_optimized_out (new_val, gdb_stdlog);
}
else
{
int i;