/* Print values for GDB, the GNU debugger.
- Copyright (C) 1986-2013 Free Software Foundation, Inc.
+ Copyright (C) 1986-2014 Free Software Foundation, Inc.
This file is part of GDB.
#include "doublest.h"
#include "exceptions.h"
#include "dfp.h"
-#include "python/python.h"
+#include "extension.h"
#include "ada-lang.h"
#include "gdb_obstack.h"
#include "charset.h"
val_print_optimized_out (const struct value *val, struct ui_file *stream)
{
if (val != NULL && value_lval_const (val) == lval_register)
- fprintf_filtered (stream, _("<not saved>"));
+ val_print_not_saved (stream);
else
fprintf_filtered (stream, _("<optimized out>"));
}
+void
+val_print_not_saved (struct ui_file *stream)
+{
+ fprintf_filtered (stream, _("<not saved>"));
+}
+
void
val_print_unavailable (struct ui_file *stream)
{
if (!options->raw)
{
- ret = apply_val_pretty_printer (type, valaddr, embedded_offset,
- address, stream, recurse,
- val, options, language);
+ ret = apply_ext_lang_val_pretty_printer (type, valaddr, embedded_offset,
+ address, stream, recurse,
+ val, options, language);
if (ret)
return;
}
return 0;
}
+ if (value_entirely_unavailable (val))
+ {
+ if (options->summary && !val_print_scalar_type_p (value_type (val)))
+ fprintf_filtered (stream, "...");
+ else
+ val_print_unavailable (stream);
+ return 0;
+ }
+
if (TYPE_CODE (value_type (val)) == TYPE_CODE_INTERNAL_FUNCTION)
{
fprintf_filtered (stream, _("<internal function %s>"),
if (!options->raw)
{
- int r = apply_val_pretty_printer (value_type (val),
- value_contents_for_printing (val),
- value_embedded_offset (val),
- value_address (val),
- stream, 0,
- val, options, current_language);
+ int r
+ = apply_ext_lang_val_pretty_printer (value_type (val),
+ value_contents_for_printing (val),
+ value_embedded_offset (val),
+ value_address (val),
+ stream, 0,
+ val, options, current_language);
if (r)
return;
/* Read LEN bytes of target memory at address MEMADDR, placing the
results in GDB's memory at MYADDR. Returns a count of the bytes
- actually read, and optionally a target_xfer_error value in the
+ actually read, and optionally a target_xfer_status value in the
location pointed to by ERRPTR if ERRPTR is non-null. */
/* FIXME: cagney/1999-10-14: Only used by val_print_string. Can this
each. Fetch at most FETCHLIMIT characters. BUFFER will be set to a newly
allocated buffer containing the string, which the caller is responsible to
free, and BYTES_READ will be set to the number of bytes read. Returns 0 on
- success, or a target_xfer_error on failure.
+ success, or a target_xfer_status on failure.
If LEN > 0, reads the lesser of LEN or FETCHLIMIT characters
(including eventual NULs in the middle or end of the string).