48 error (
_(
"Lower bound may not be '*' in F77"));
97 (upper_bound - lower_bound + 1)
108 struct ui_file *stream,
int recurse,
109 const struct value *val,
114 CORE_ADDR addr = address + embedded_offset;
115 LONGEST lowerbound, upperbound;
120 if (nss != ndimensions)
126 (i < upperbound + 1 && (*elts) < options->
print_max);
131 + offs, addr + offs);
138 stream, recurse, subarray, options, elts);
142 if (*elts >= options->
print_max && i < upperbound)
147 for (i = lowerbound; i < upperbound + 1 && (*elts) < options->
print_max;
161 && (i != upperbound))
175 const struct value *val,
185 Type node corrupt! F77 arrays cannot have %d subscripts (%d Max)"),
189 address, stream, recurse, val, options, &elts);
213 struct value *original_value,
217 int printed_field = 0;
218 struct type *elttype;
229 valaddr + embedded_offset,
238 address, stream, recurse, original_value, options);
247 valaddr + embedded_offset,
257 original_value, options, 0, stream);
307 original_value, &opts, 0, stream);
311 original_value, options, 0, stream);
322 ((
struct value *)original_value, index);
331 if (printed_field > 0)
365 stream, recurse, original_value, options,
404 for (index = 0; index < common->
n_entries; index++)
406 struct value *val = NULL;
437 int values_printed = 0;
479 _(
"Print out the values contained in a Fortran COMMON block."));
int f77_get_upperbound(struct type *type)
void f_val_print(struct type *type, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, struct value *original_value, const struct value_print_options *options)
struct frame_info * get_selected_frame(const char *message)
#define SYMBOL_PRINT_NAME(symbol)
void value_print(struct value *val, struct ui_file *stream, const struct value_print_options *options)
struct value * value_subscript(struct value *array, LONGEST index)
struct value * value_from_contents_and_address(struct type *type, const gdb_byte *valaddr, CORE_ADDR address)
#define TYPE_FIELD_NAME(thistype, n)
static void info_common_command(const char *comname, int from_tty)
CORE_ADDR unpack_pointer(struct type *type, const gdb_byte *valaddr)
LONGEST value_embedded_offset(const struct value *value)
int calc_f77_array_dims(struct type *array_type)
struct cmd_list_element * add_info(const char *name, cmd_const_cfunc_ftype *fun, const char *doc)
#define SYMBOL_CLASS(symbol)
#define SYMBOL_VALUE_COMMON_BLOCK(symbol)
const gdb_byte * value_contents_for_printing(struct value *value)
#define TYPE_FIELD_TYPE(thistype, n)
void printf_filtered(const char *format,...)
const char * paddress(struct gdbarch *gdbarch, CORE_ADDR addr)
#define BLOCK_FUNCTION(bl)
void val_print_scalar_formatted(struct type *type, LONGEST embedded_offset, struct value *val, const struct value_print_options *options, int size, struct ui_file *stream)
struct type * check_typedef(struct type *type)
struct symbol * contents[1]
#define CATCH(EXCEPTION, MASK)
struct value * value_field(struct value *arg1, int fieldno)
#define TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED(arraytype)
#define SYMBOL_DOMAIN(symbol)
void fprintf_filtered(struct ui_file *stream, const char *format,...)
const struct block * get_frame_block(struct frame_info *frame, CORE_ADDR *addr_in_block)
void fputs_filtered(const char *linebuffer, struct ui_file *stream)
int f77_get_lowerbound(struct type *type)
#define BLOCK_SUPERBLOCK(bl)
struct gdbarch * get_type_arch(const struct type *type)
#define SYMBOL_LINKAGE_NAME(symbol)
const gdb_byte * value_contents_for_printing_const(const struct value *value)
int f77_array_offset_tbl[MAX_FORTRAN_DIMS+1][2]
int putchar_filtered(int c)
#define TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED(arraytype)
static void f77_get_dynamic_length_of_aggregate(struct type *)
void _initialize_f_valprint(void)
const struct language_defn * current_language
#define TYPE_TARGET_TYPE(thistype)
void generic_val_print(struct type *type, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, struct value *original_value, const struct value_print_options *options, const struct generic_val_print_decorations *decorations)
#define TYPE_CODE(thistype)
#define TYPE_INDEX_TYPE(type)
struct value * value_of_variable(struct symbol *var, const struct block *b)
void get_user_print_options(struct value_print_options *opts)
#define TYPE_NFIELDS(thistype)
static const struct generic_val_print_decorations f_decorations
int print_address_demangle(const struct value_print_options *opts, struct gdbarch *gdbarch, CORE_ADDR addr, struct ui_file *stream, int do_demangle)
void val_print(struct type *type, LONGEST embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, struct value *val, const struct value_print_options *options, const struct language_defn *language)
static PyObject * field_name(struct type *type, int field)
static void info_common_command_for_block(const struct block *block, const char *comname, int *any_printed)
struct type * value_type(const struct value *value)
#define TYPE_ARRAY_LOWER_BOUND_VALUE(arraytype)
static void f77_print_array(struct type *type, const gdb_byte *valaddr, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options)
#define LA_PRINT_STRING(stream, elttype, string, length, encoding, force_ellipses, options)
#define TYPE_LENGTH(thistype)
int val_print_string(struct type *elttype, const char *encoding, CORE_ADDR addr, int len, struct ui_file *stream, const struct value_print_options *options)
void print_function_pointer_address(const struct value_print_options *options, struct gdbarch *gdbarch, CORE_ADDR address, struct ui_file *stream)
void gdb_flush(struct ui_file *file)
CORE_ADDR value_address(const struct value *value)
static void f77_print_array_1(int nss, int ndimensions, struct type *type, const gdb_byte *valaddr, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, int *elts)
#define TYPE_ARRAY_UPPER_BOUND_VALUE(arraytype)
int get_discrete_bounds(struct type *type, LONGEST *lowp, LONGEST *highp)
void error(const char *fmt,...)
#define ALL_BLOCK_SYMBOLS(block, iter, sym)