* valprint.c: Include "exceptions.h".
(val_print): If something goes wrong while printing, supply an error message.
This commit is contained in:
parent
245c7f487f
commit
19ca80ba57
3 changed files with 21 additions and 3 deletions
|
@ -34,6 +34,7 @@
|
|||
#include "valprint.h"
|
||||
#include "floatformat.h"
|
||||
#include "doublest.h"
|
||||
#include "exceptions.h"
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
|
@ -205,6 +206,9 @@ val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
|
|||
CORE_ADDR address, struct ui_file *stream, int format,
|
||||
int deref_ref, int recurse, enum val_prettyprint pretty)
|
||||
{
|
||||
volatile struct gdb_exception except;
|
||||
int ret = 0;
|
||||
|
||||
struct type *real_type = check_typedef (type);
|
||||
if (pretty == Val_pretty_default)
|
||||
{
|
||||
|
@ -224,8 +228,15 @@ val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
|
|||
return (0);
|
||||
}
|
||||
|
||||
return (LA_VAL_PRINT (type, valaddr, embedded_offset, address,
|
||||
stream, format, deref_ref, recurse, pretty));
|
||||
TRY_CATCH (except, RETURN_MASK_ERROR)
|
||||
{
|
||||
ret = LA_VAL_PRINT (type, valaddr, embedded_offset, address,
|
||||
stream, format, deref_ref, recurse, pretty);
|
||||
}
|
||||
if (except.reason < 0)
|
||||
fprintf_filtered (stream, _("<error reading variable>"));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Check whether the value VAL is printable. Return 1 if it is;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue