/* Support for printing Fortran values for GDB, the GNU debugger.
- Copyright (C) 1993-2014 Free Software Foundation, Inc.
+ Copyright (C) 1993-2015 Free Software Foundation, Inc.
Contributed by Motorola. Adapted from the C definitions by Farooq Butt
(fmbutt@engage.sps.mot.com), additionally worked over by Stan Shebs.
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
-#include <string.h>
#include "symtab.h"
#include "gdbtypes.h"
#include "expression.h"
#include "command.h"
#include "block.h"
#include "dictionary.h"
-#include "gdb_assert.h"
-#include "exceptions.h"
extern void _initialize_f_valprint (void);
static void info_common_command (char *, int);
CORE_ADDR addr;
int index;
- CHECK_TYPEDEF (type);
+ type = check_typedef (type);
switch (TYPE_CODE (type))
{
case TYPE_CODE_STRING:
opts.format = (options->format ? options->format
: options->output_format);
val_print_scalar_formatted (type, valaddr, embedded_offset,
- original_value, options, 0, stream);
+ original_value, &opts, 0, stream);
}
else
{
ALL_BLOCK_SYMBOLS (block, iter, sym)
if (SYMBOL_DOMAIN (sym) == COMMON_BLOCK_DOMAIN)
{
- struct common_block *common = SYMBOL_VALUE_COMMON_BLOCK (sym);
+ const struct common_block *common = SYMBOL_VALUE_COMMON_BLOCK (sym);
size_t index;
gdb_assert (SYMBOL_CLASS (sym) == LOC_COMMON_BLOCK);
for (index = 0; index < common->n_entries; index++)
{
struct value *val = NULL;
- volatile struct gdb_exception except;
printf_filtered ("%s = ",
SYMBOL_PRINT_NAME (common->contents[index]));
- TRY_CATCH (except, RETURN_MASK_ERROR)
+ TRY
{
val = value_of_variable (common->contents[index], block);
value_print (val, gdb_stdout, &opts);
}
- if (except.reason < 0)
- printf_filtered ("<error reading variable: %s>", except.message);
+ CATCH (except, RETURN_MASK_ERROR)
+ {
+ printf_filtered ("<error reading variable: %s>", except.message);
+ }
+ END_CATCH
+
putchar_filtered ('\n');
}
}
{
add_info ("common", info_common_command,
_("Print out the values contained in a Fortran COMMON block."));
- if (xdb_commands)
- add_com ("lc", class_info, info_common_command,
- _("Print out the values contained in a Fortran COMMON block."));
}