* c-typeprint.c (c_type_print_varspec_prefix,

c_type_print_varspec_suffix): Add cases for Fortran type codes.
	 * eval.c (evaluate_subexp): For OP_ARRAY expressions in Fortran,
	 call f77_value_literal_string instead.
	 * f_exp.y: Include <string.h>, move include of parser-defs.h.
	 (parse_number): Translate 'd' floats to 'e' so atof() works.
	 (yylex): Remove unused variables.
	 * f-lang.c: Include <string.h>.
	 (get_bf_for_fcn): Remove unused variable.
	 * f-typeprint.c (f_type_print_varspec_prefix,
	 f_type_print_varspec_suffix): Remove unused
	 variables, add cases to switch statements.
	 (f_type_print_base): Remove unused variables.
	 * f-valprint.c (gdbcore.h, command.h): Include.
	 (f77_get_dynamic_lowerbound, f77_get_dynamic_upperbound):
	 Call read_memory_integer with correct number of arguments.
	 (f77_get_dynamic_upperbound): Call f77_get_dynamic_lowerbound
	 with correct argument type.
	 (f77_print_array): Removed unused array array_size_array.
	 (f_val_print): Don't use a CORE_ADDR as a char *.
	 * valops.c (value_cast): Handle COMPLEX and BOOL types.
	 (value_assign): Handle Fortran literal string and complex values.
	 (f77_cast_into_complex, f77_assign_from_literal_string,
	 f77_assign_from_literal_complex): New functions.
This commit is contained in:
Stan Shebs 1994-09-07 00:23:16 +00:00
parent 6ceff8e7d2
commit 22d7f91e32
6 changed files with 110 additions and 75 deletions

View file

@ -1,3 +1,30 @@
Tue Sep 6 16:24:07 1994 Stan Shebs (shebs@andros.cygnus.com)
* c-typeprint.c (c_type_print_varspec_prefix,
c_type_print_varspec_suffix): Add cases for Fortran type codes.
* eval.c (evaluate_subexp): For OP_ARRAY expressions in Fortran,
call f77_value_literal_string instead.
* f_exp.y: Include <string.h>, move include of parser-defs.h.
(parse_number): Translate 'd' floats to 'e' so atof() works.
(yylex): Remove unused variables.
* f-lang.c: Include <string.h>.
(get_bf_for_fcn): Remove unused variable.
* f-typeprint.c (f_type_print_varspec_prefix,
f_type_print_varspec_suffix): Remove unused
variables, add cases to switch statements.
(f_type_print_base): Remove unused variables.
* f-valprint.c (gdbcore.h, command.h): Include.
(f77_get_dynamic_lowerbound, f77_get_dynamic_upperbound):
Call read_memory_integer with correct number of arguments.
(f77_get_dynamic_upperbound): Call f77_get_dynamic_lowerbound
with correct argument type.
(f77_print_array): Removed unused array array_size_array.
(f_val_print): Don't use a CORE_ADDR as a char *.
* valops.c (value_cast): Handle COMPLEX and BOOL types.
(value_assign): Handle Fortran literal string and complex values.
(f77_cast_into_complex, f77_assign_from_literal_string,
f77_assign_from_literal_complex): New functions.
Mon Sep 5 14:46:41 1994 Per Bothner (bothner@kalessin.cygnus.com) Mon Sep 5 14:46:41 1994 Per Bothner (bothner@kalessin.cygnus.com)
* ch-typeprint.c (chill_type_print_base): Make TYPE_CODE_RANGE * ch-typeprint.c (chill_type_print_base): Make TYPE_CODE_RANGE

View file

@ -312,6 +312,9 @@ c_type_print_varspec_prefix (type, stream, show, passed_a_ptr)
case TYPE_CODE_RANGE: case TYPE_CODE_RANGE:
case TYPE_CODE_STRING: case TYPE_CODE_STRING:
case TYPE_CODE_BITSTRING: case TYPE_CODE_BITSTRING:
case TYPE_CODE_COMPLEX:
case TYPE_CODE_LITERAL_COMPLEX:
case TYPE_CODE_LITERAL_STRING:
/* These types need no prefix. They are listed here so that /* These types need no prefix. They are listed here so that
gcc -Wall will reveal any types that haven't been handled. */ gcc -Wall will reveal any types that haven't been handled. */
break; break;
@ -436,6 +439,9 @@ c_type_print_varspec_suffix (type, stream, show, passed_a_ptr, demangled_args)
case TYPE_CODE_RANGE: case TYPE_CODE_RANGE:
case TYPE_CODE_STRING: case TYPE_CODE_STRING:
case TYPE_CODE_BITSTRING: case TYPE_CODE_BITSTRING:
case TYPE_CODE_COMPLEX:
case TYPE_CODE_LITERAL_COMPLEX:
case TYPE_CODE_LITERAL_STRING:
/* These types do not need a suffix. They are listed so that /* These types do not need a suffix. They are listed so that
gcc -Wall will report types that may not have been considered. */ gcc -Wall will report types that may not have been considered. */
break; break;

View file

@ -43,9 +43,10 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
%{ %{
#include "defs.h" #include "defs.h"
#include <string.h>
#include "expression.h" #include "expression.h"
#include "parser-defs.h"
#include "value.h" #include "value.h"
#include "parser-defs.h"
#include "language.h" #include "language.h"
#include "f-lang.h" #include "f-lang.h"
#include "bfd.h" /* Required by objfiles.h. */ #include "bfd.h" /* Required by objfiles.h. */
@ -214,7 +215,6 @@ type_exp: type
write_exp_elt_opcode(OP_TYPE); } write_exp_elt_opcode(OP_TYPE); }
; ;
exp : '(' exp ')' exp : '(' exp ')'
{ } { }
; ;
@ -390,8 +390,7 @@ exp : NAME_OR_INT
write_exp_elt_opcode (OP_LONG); write_exp_elt_opcode (OP_LONG);
write_exp_elt_type (val.typed_val.type); write_exp_elt_type (val.typed_val.type);
write_exp_elt_longcst ((LONGEST)val.typed_val.val); write_exp_elt_longcst ((LONGEST)val.typed_val.val);
write_exp_elt_opcode (OP_LONG); write_exp_elt_opcode (OP_LONG); }
}
; ;
exp : FLOAT exp : FLOAT
@ -668,7 +667,15 @@ parse_number (p, len, parsed_float, putithere)
if (parsed_float) if (parsed_float)
{ {
/* It's a float since it contains a point or an exponent. */ /* It's a float since it contains a point or an exponent. */
putithere->dval = atof (p); /* [dD] is not understood as an exponent by atof, change it to 'e'. */
char *tmp, *tmp2;
tmp = strsave (p);
for (tmp2 = tmp; *tmp2; ++tmp2)
if (*tmp2 == 'd' || *tmp2 == 'D')
*tmp2 = 'e';
putithere->dval = atof (tmp);
free (tmp);
return FLOAT; return FLOAT;
} }
@ -931,10 +938,6 @@ yylex ()
int namelen; int namelen;
unsigned int i,token; unsigned int i,token;
char *tokstart; char *tokstart;
char *tokptr;
int tempbufindex;
static char *tempbuf;
static int tempbufsize;
retry: retry:
@ -945,14 +948,14 @@ yylex ()
if (*lexptr == '.') if (*lexptr == '.')
{ {
for (i=0;boolean_values[i].name != NULL;i++) for (i = 0; boolean_values[i].name != NULL; i++)
{ {
if STREQN(tokstart,boolean_values[i].name, if STREQN (tokstart, boolean_values[i].name,
strlen(boolean_values[i].name)) strlen (boolean_values[i].name))
{ {
lexptr += strlen(boolean_values[i].name); lexptr += strlen (boolean_values[i].name);
yylval.lval = boolean_values[i].value; yylval.lval = boolean_values[i].value;
return (BOOLEAN_LITERAL); return BOOLEAN_LITERAL;
} }
} }
} }
@ -960,10 +963,9 @@ yylex ()
/* See if it is a special .foo. operator */ /* See if it is a special .foo. operator */
for (i = 0; dot_ops[i].operator != NULL; i++) for (i = 0; dot_ops[i].operator != NULL; i++)
if (STREQN(tokstart, dot_ops[i].operator, if (STREQN (tokstart, dot_ops[i].operator, strlen (dot_ops[i].operator)))
strlen(dot_ops[i].operator)))
{ {
lexptr += strlen(dot_ops[i].operator); lexptr += strlen (dot_ops[i].operator);
yylval.opcode = dot_ops[i].opcode; yylval.opcode = dot_ops[i].opcode;
return dot_ops[i].token; return dot_ops[i].token;
} }
@ -1040,12 +1042,12 @@ yylex ()
{ {
if (!hex && !got_e && (*p == 'e' || *p == 'E')) if (!hex && !got_e && (*p == 'e' || *p == 'E'))
got_dot = got_e = 1; got_dot = got_e = 1;
else if (!hex && !got_e && (*p == 'd' || *p == 'D')) else if (!hex && !got_d && (*p == 'd' || *p == 'D'))
got_dot = got_d = 1; got_dot = got_d = 1;
else if (!hex && !got_dot && *p == '.') else if (!hex && !got_dot && *p == '.')
got_dot = 1; got_dot = 1;
else if ((got_e && (p[-1] == 'e' || p[-1] == 'E') else if ((got_e && (p[-1] == 'e' || p[-1] == 'E'))
|| got_d && (p[-1] == 'd' || p[-1] == 'D')) || (got_d && (p[-1] == 'd' || p[-1] == 'D'))
&& (*p == '-' || *p == '+')) && (*p == '-' || *p == '+'))
/* This is the sign of the exponent, not the end of the /* This is the sign of the exponent, not the end of the
number. */ number. */

View file

@ -20,6 +20,7 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "defs.h" #include "defs.h"
#include <string.h>
#include "symtab.h" #include "symtab.h"
#include "gdbtypes.h" #include "gdbtypes.h"
#include "expression.h" #include "expression.h"
@ -882,7 +883,6 @@ get_bf_for_fcn (the_function)
{ {
SAVED_BF_PTR tmp; SAVED_BF_PTR tmp;
int nprobes = 0; int nprobes = 0;
long retval = 0;
/* First use a simple queuing algorithm (i.e. look and see if the /* First use a simple queuing algorithm (i.e. look and see if the
item at the head of the queue is the one you want) */ item at the head of the queue is the one you want) */

View file

@ -1,5 +1,5 @@
/* Support for printing Fortran types for GDB, the GNU debugger. /* Support for printing Fortran types for GDB, the GNU debugger.
Copyright 1986, 1988, 1989, 1991 Free Software Foundation, Inc. Copyright 1986, 1988, 1989, 1991, 1993, 1994 Free Software Foundation, Inc.
Contributed by Motorola. Adapted from the C version by Farooq Butt Contributed by Motorola. Adapted from the C version by Farooq Butt
(fmbutt@engage.sps.mot.com). (fmbutt@engage.sps.mot.com).
@ -102,7 +102,6 @@ f_type_print_varspec_prefix (type, stream, show, passed_a_ptr)
int show; int show;
int passed_a_ptr; int passed_a_ptr;
{ {
char *name;
if (type == 0) if (type == 0)
return; return;
@ -140,6 +139,13 @@ f_type_print_varspec_prefix (type, stream, show, passed_a_ptr)
case TYPE_CODE_SET: case TYPE_CODE_SET:
case TYPE_CODE_RANGE: case TYPE_CODE_RANGE:
case TYPE_CODE_STRING: case TYPE_CODE_STRING:
case TYPE_CODE_BITSTRING:
case TYPE_CODE_METHOD:
case TYPE_CODE_MEMBER:
case TYPE_CODE_REF:
case TYPE_CODE_COMPLEX:
case TYPE_CODE_LITERAL_COMPLEX:
case TYPE_CODE_LITERAL_STRING:
/* These types need no prefix. They are listed here so that /* These types need no prefix. They are listed here so that
gcc -Wall will reveal any types that haven't been handled. */ gcc -Wall will reveal any types that haven't been handled. */
break; break;
@ -192,8 +198,7 @@ f_type_print_varspec_suffix (type, stream, show, passed_a_ptr, demangled_args)
int passed_a_ptr; int passed_a_ptr;
int demangled_args; int demangled_args;
{ {
CORE_ADDR current_frame_addr = 0; int upper_bound, lower_bound;
int upper_bound,lower_bound;
int lower_bound_was_default = 0; int lower_bound_was_default = 0;
static int arrayprint_recurse_level = 0; static int arrayprint_recurse_level = 0;
int retcode; int retcode;
@ -281,15 +286,19 @@ f_type_print_varspec_suffix (type, stream, show, passed_a_ptr, demangled_args)
case TYPE_CODE_BOOL: case TYPE_CODE_BOOL:
case TYPE_CODE_SET: case TYPE_CODE_SET:
case TYPE_CODE_RANGE: case TYPE_CODE_RANGE:
case TYPE_CODE_LITERAL_STRING:
case TYPE_CODE_STRING: case TYPE_CODE_STRING:
case TYPE_CODE_BITSTRING:
case TYPE_CODE_METHOD:
case TYPE_CODE_MEMBER:
case TYPE_CODE_COMPLEX:
case TYPE_CODE_LITERAL_COMPLEX:
case TYPE_CODE_LITERAL_STRING:
/* These types do not need a suffix. They are listed so that /* These types do not need a suffix. They are listed so that
gcc -Wall will report types that may not have been considered. */ gcc -Wall will report types that may not have been considered. */
break; break;
} }
} }
void void
print_equivalent_f77_float_type (type, stream) print_equivalent_f77_float_type (type, stream)
struct type *type; struct type *type;
@ -331,14 +340,9 @@ f_type_print_base (type, stream, show, level)
int show; int show;
int level; int level;
{ {
char *name; int retcode;
register int i; int upper_bound;
register int len;
register int lastval;
char *mangled_name;
char *demangled_name;
enum {s_none, s_public, s_private, s_protected} section_type;
int retcode,upper_bound;
QUIT; QUIT;
wrap_here (" "); wrap_here (" ");
@ -353,9 +357,6 @@ f_type_print_base (type, stream, show, level)
if ((show <= 0) && (TYPE_NAME (type) != NULL)) if ((show <= 0) && (TYPE_NAME (type) != NULL))
{ {
/* Damn builtin types on RS6000! They call a float "float"
so we gotta translate to appropriate F77'isms */
if (TYPE_CODE (type) == TYPE_CODE_FLT) if (TYPE_CODE (type) == TYPE_CODE_FLT)
print_equivalent_f77_float_type (type, stream); print_equivalent_f77_float_type (type, stream);
else else
@ -405,20 +406,20 @@ f_type_print_base (type, stream, show, level)
through as TYPE_CODE_INT since dbxstclass.h is so through as TYPE_CODE_INT since dbxstclass.h is so
C-oriented, we must change these to "character" from "char". */ C-oriented, we must change these to "character" from "char". */
if (STREQ(TYPE_NAME(type),"char")) if (STREQ (TYPE_NAME (type), "char"))
fprintf_filtered (stream,"character"); fprintf_filtered (stream, "character");
else else
goto default_case; goto default_case;
break; break;
case TYPE_CODE_COMPLEX: case TYPE_CODE_COMPLEX:
case TYPE_CODE_LITERAL_COMPLEX: case TYPE_CODE_LITERAL_COMPLEX:
fprintf_filtered (stream,"complex*"); fprintf_filtered (stream, "complex*");
fprintf_filtered (stream,"%d",TYPE_LENGTH(type)); fprintf_filtered (stream, "%d", TYPE_LENGTH (type));
break; break;
case TYPE_CODE_FLT: case TYPE_CODE_FLT:
print_equivalent_f77_float_type(type,stream); print_equivalent_f77_float_type (type, stream);
break; break;
case TYPE_CODE_LITERAL_STRING: case TYPE_CODE_LITERAL_STRING:
@ -427,18 +428,18 @@ f_type_print_base (type, stream, show, level)
break; break;
case TYPE_CODE_STRING: case TYPE_CODE_STRING:
/* Strings may have dynamic upperbounds (lengths) like arrays */ /* Strings may have dynamic upperbounds (lengths) like arrays. */
if (TYPE_ARRAY_UPPER_BOUND_TYPE (type) == BOUND_CANNOT_BE_DETERMINED) if (TYPE_ARRAY_UPPER_BOUND_TYPE (type) == BOUND_CANNOT_BE_DETERMINED)
fprintf_filtered("character*(*)"); fprintf_filtered ("character*(*)");
else else
{ {
retcode = f77_get_dynamic_upperbound(type,&upper_bound); retcode = f77_get_dynamic_upperbound (type, &upper_bound);
if (retcode == BOUND_FETCH_ERROR) if (retcode == BOUND_FETCH_ERROR)
fprintf_filtered(stream,"character*???"); fprintf_filtered (stream, "character*???");
else else
fprintf_filtered(stream,"character*%d",upper_bound); fprintf_filtered (stream, "character*%d", upper_bound);
} }
break; break;

View file

@ -20,6 +20,7 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "defs.h" #include "defs.h"
#include <string.h>
#include "symtab.h" #include "symtab.h"
#include "gdbtypes.h" #include "gdbtypes.h"
#include "expression.h" #include "expression.h"
@ -29,11 +30,15 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "language.h" #include "language.h"
#include "f-lang.h" #include "f-lang.h"
#include "frame.h" #include "frame.h"
#include "gdbcore.h"
#include "command.h"
extern struct obstack dont_print_obstack; extern struct obstack dont_print_obstack;
extern unsigned int print_max; /* No of array elements to print */ extern unsigned int print_max; /* No of array elements to print */
extern int calc_f77_array_dims PARAMS ((struct type *));
int f77_array_offset_tbl[MAX_FORTRAN_DIMS+1][2]; int f77_array_offset_tbl[MAX_FORTRAN_DIMS+1][2];
/* Array which holds offsets to be applied to get a row's elements /* Array which holds offsets to be applied to get a row's elements
@ -64,7 +69,8 @@ f77_get_dynamic_lowerbound (type, lower_bound)
{ {
*lower_bound = *lower_bound =
read_memory_integer (current_frame_addr + read_memory_integer (current_frame_addr +
TYPE_ARRAY_LOWER_BOUND_VALUE (type),4); TYPE_ARRAY_LOWER_BOUND_VALUE (type),
4);
} }
else else
{ {
@ -78,7 +84,7 @@ f77_get_dynamic_lowerbound (type, lower_bound)
break; break;
case BOUND_CANNOT_BE_DETERMINED: case BOUND_CANNOT_BE_DETERMINED:
error("Lower bound may not be '*' in F77"); error ("Lower bound may not be '*' in F77");
break; break;
case BOUND_BY_REF_ON_STACK: case BOUND_BY_REF_ON_STACK:
@ -89,7 +95,7 @@ f77_get_dynamic_lowerbound (type, lower_bound)
read_memory_integer (current_frame_addr + read_memory_integer (current_frame_addr +
TYPE_ARRAY_LOWER_BOUND_VALUE (type), TYPE_ARRAY_LOWER_BOUND_VALUE (type),
4); 4);
*lower_bound = read_memory_integer(ptr_to_lower_bound); *lower_bound = read_memory_integer (ptr_to_lower_bound, 4);
} }
else else
{ {
@ -123,7 +129,8 @@ f77_get_dynamic_upperbound (type, upper_bound)
{ {
*upper_bound = *upper_bound =
read_memory_integer (current_frame_addr + read_memory_integer (current_frame_addr +
TYPE_ARRAY_UPPER_BOUND_VALUE (type),4); TYPE_ARRAY_UPPER_BOUND_VALUE (type),
4);
} }
else else
{ {
@ -142,7 +149,7 @@ f77_get_dynamic_upperbound (type, upper_bound)
1 element.If the user wants to see more elements, let 1 element.If the user wants to see more elements, let
him manually ask for 'em and we'll subscript the him manually ask for 'em and we'll subscript the
array and show him */ array and show him */
f77_get_dynamic_lowerbound (type, &upper_bound); f77_get_dynamic_lowerbound (type, upper_bound);
break; break;
case BOUND_BY_REF_ON_STACK: case BOUND_BY_REF_ON_STACK:
@ -153,7 +160,7 @@ f77_get_dynamic_upperbound (type, upper_bound)
read_memory_integer (current_frame_addr + read_memory_integer (current_frame_addr +
TYPE_ARRAY_UPPER_BOUND_VALUE (type), TYPE_ARRAY_UPPER_BOUND_VALUE (type),
4); 4);
*upper_bound = read_memory_integer(ptr_to_upper_bound); *upper_bound = read_memory_integer(ptr_to_upper_bound, 4);
} }
else else
{ {
@ -179,13 +186,11 @@ f77_get_dynamic_length_of_aggregate (type)
{ {
int upper_bound = -1; int upper_bound = -1;
int lower_bound = 1; int lower_bound = 1;
unsigned int current_total = 1;
int retcode; int retcode;
/* Recursively go all the way down into a possibly /* Recursively go all the way down into a possibly multi-dimensional
multi-dimensional F77 array F77 array and get the bounds. For simple arrays, this is pretty
and get the bounds. For simple arrays, this is pretty easy easy but when the bounds are dynamic, we must be very careful
but when the bounds are dynamic, we must be very careful
to add up all the lengths correctly. Not doing this right to add up all the lengths correctly. Not doing this right
will lead to horrendous-looking arrays in parameter lists. will lead to horrendous-looking arrays in parameter lists.
@ -224,7 +229,6 @@ f77_print_cmplx (valaddr, type, stream, which_complex)
{ {
float *f1,*f2; float *f1,*f2;
double *d1, *d2; double *d1, *d2;
int i;
switch (which_complex) switch (which_complex)
{ {
@ -267,7 +271,7 @@ f77_print_cmplx (valaddr, type, stream, which_complex)
} }
/* Function that sets up the array offset,size table for the array /* Function that sets up the array offset,size table for the array
type "type". */ type "type". */
void void
f77_create_arrayprint_offset_tbl (type, stream) f77_create_arrayprint_offset_tbl (type, stream)
@ -388,7 +392,6 @@ f77_print_array (type, valaddr, address, stream, format, deref_ref, recurse,
int recurse; int recurse;
enum val_prettyprint pretty; enum val_prettyprint pretty;
{ {
int array_size_array[MAX_FORTRAN_DIMS+1];
int ndimensions; int ndimensions;
ndimensions = calc_f77_array_dims (type); ndimensions = calc_f77_array_dims (type);
@ -436,11 +439,9 @@ f_val_print (type, valaddr, address, stream, format, deref_ref, recurse,
register unsigned int i = 0; /* Number of characters printed */ register unsigned int i = 0; /* Number of characters printed */
unsigned len; unsigned len;
struct type *elttype; struct type *elttype;
unsigned eltlen;
LONGEST val; LONGEST val;
struct internalvar *ivar; char *localstr;
char *localstr; char *straddr;
unsigned char c;
CORE_ADDR addr; CORE_ADDR addr;
switch (TYPE_CODE (type)) switch (TYPE_CODE (type))
@ -454,15 +455,15 @@ f_val_print (type, valaddr, address, stream, format, deref_ref, recurse,
and for straight literals (i.e. of the form 'hello world'), and for straight literals (i.e. of the form 'hello world'),
valaddr points a ptr to VALUE_LITERAL_DATA(value). */ valaddr points a ptr to VALUE_LITERAL_DATA(value). */
/* First deref. valaddr */ /* First dereference valaddr. */
addr = * (CORE_ADDR *) valaddr; straddr = * (CORE_ADDR *) valaddr;
if (addr) if (straddr)
{ {
len = TYPE_LENGTH (type); len = TYPE_LENGTH (type);
localstr = alloca (len + 1); localstr = alloca (len + 1);
strncpy (localstr, addr, len); strncpy (localstr, straddr, len);
localstr[len] = '\0'; localstr[len] = '\0';
fprintf_filtered (stream, "'%s'", localstr); fprintf_filtered (stream, "'%s'", localstr);
} }
@ -637,10 +638,10 @@ f_val_print (type, valaddr, address, stream, format, deref_ref, recurse,
bytes for the the literal complex number are stored bytes for the the literal complex number are stored
at the address pointed to by valaddr */ at the address pointed to by valaddr */
if (TYPE_LENGTH(type) == 32) if (TYPE_LENGTH (type) == 32)
error("Cannot currently print out complex*32 literals"); error ("Cannot currently print out complex*32 literals");
/* First deref. valaddr */ /* First dereference valaddr. */
addr = * (CORE_ADDR *) valaddr; addr = * (CORE_ADDR *) valaddr;
@ -733,7 +734,6 @@ info_common_command (comname, from_tty)
struct frame_info *fi; struct frame_info *fi;
register char *funname = 0; register char *funname = 0;
struct symbol *func; struct symbol *func;
char *cmd;
/* We have been told to display the contents of F77 COMMON /* We have been told to display the contents of F77 COMMON
block supposedly visible in this function. Let us block supposedly visible in this function. Let us
@ -825,7 +825,6 @@ there_is_a_visible_common_named (comname)
char *comname; char *comname;
{ {
SAVED_F77_COMMON_PTR the_common; SAVED_F77_COMMON_PTR the_common;
COMMON_ENTRY_PTR entry;
struct frame_info *fi; struct frame_info *fi;
register char *funname = 0; register char *funname = 0;
struct symbol *func; struct symbol *func;