aboutsummaryrefslogtreecommitdiff
path: root/gdb/stabsread.c
diff options
context:
space:
mode:
authorStan Shebs <shebs@codesourcery.com>1996-07-31 01:07:30 +0000
committerStan Shebs <shebs@codesourcery.com>1996-07-31 01:07:30 +0000
commitcb74cc240dfca14768005cd4ba34dc06283c2a7c (patch)
treedef5afe052110fd91fab4886cc3828d77171229c /gdb/stabsread.c
parent2019ff6ad5100fc90527810aa801efcbe19f7c40 (diff)
downloadgdb-cb74cc240dfca14768005cd4ba34dc06283c2a7c.zip
gdb-cb74cc240dfca14768005cd4ba34dc06283c2a7c.tar.gz
gdb-cb74cc240dfca14768005cd4ba34dc06283c2a7c.tar.bz2
* stabsread.c (get_substring): Declare second arg as int.
* remote-es.c: Include gdb_string.h after defs.h.
Diffstat (limited to 'gdb/stabsread.c')
-rw-r--r--gdb/stabsread.c64
1 files changed, 34 insertions, 30 deletions
diff --git a/gdb/stabsread.c b/gdb/stabsread.c
index a9ac480..8c03a6f 100644
--- a/gdb/stabsread.c
+++ b/gdb/stabsread.c
@@ -80,7 +80,7 @@ read_one_struct_field PARAMS ((struct field_info *, char **, char *,
struct type *, struct objfile *));
static char *
-get_substring PARAMS ((char **, char));
+get_substring PARAMS ((char **, int));
static struct type *
dbx_alloc_type PARAMS ((int [2], struct objfile *));
@@ -538,16 +538,17 @@ read_type_number (pp, typenums)
/* This code added to support parsing of ARM/Cfront stabs strings */
-/* get substring from string up to char c
- advance string pointer past suibstring */
+/* Get substring from string up to char c, advance string pointer past
+ suibstring. */
+
static char *
-get_substring(p, c)
+get_substring (p, c)
char ** p;
- char c;
+ int c;
{
- char * str;
+ char *str;
str = *p;
- *p = strchr(*p,c);
+ *p = strchr (*p, c);
if (*p)
{
**p = 0;
@@ -558,35 +559,36 @@ get_substring(p, c)
return str;
}
-/* Physname gets strcat'd onto sname in order to recreate the mangled name
- (see funtion gdb_mangle_name in gdbtypes.c). For cfront, make the physname
- look like that of g++ - take out the initial mangling
+/* Physname gets strcat'd onto sname in order to recreate the mangled
+ name (see funtion gdb_mangle_name in gdbtypes.c). For cfront, make
+ the physname look like that of g++ - take out the initial mangling
eg: for sname="a" and fname="foo__1aFPFs_i" return "FPFs_i" */
+
static char *
-get_cfront_method_physname(fname)
- char * fname;
+get_cfront_method_physname (fname)
+ char *fname;
{
- int len=0;
+ int len = 0;
/* FIXME would like to make this generic for g++ too, but
that is already handled in read_member_funcctions */
char * p = fname;
/* search ahead to find the start of the mangled suffix */
if (*p == '_' && *(p+1)=='_') /* compiler generated; probably a ctor/dtor */
- p+=2;
- while (p && ((p+1) - fname) < strlen(fname) && *(p+1)!='_')
- p = strchr(p,'_');
- if (!(p && *p=='_' && *(p+1)=='_'))
- error("Invalid mangled function name %s",fname);
- p+=2; /* advance past '__' */
+ p += 2;
+ while (p && ((p+1) - fname) < strlen (fname) && *(p+1) != '_')
+ p = strchr (p, '_');
+ if (!(p && *p == '_' && *(p+1) == '_'))
+ error ("Invalid mangled function name %s",fname);
+ p += 2; /* advance past '__' */
/* struct name length and name of type should come next; advance past it */
- while (isdigit(*p))
+ while (isdigit (*p))
{
- len = len*10 + (*p - '0');
+ len = len * 10 + (*p - '0');
p++;
}
- p+=len;
+ p += len;
return p;
}
@@ -598,12 +600,13 @@ get_cfront_method_physname(fname)
A:ZcA;;foopri__1AFv foopro__1AFv __ct__1AFv __ct__1AFRC1A foopub__1AFv ;;;
^
*/
+
static int
-read_cfront_baseclasses(fip, pp, type, objfile)
+read_cfront_baseclasses (fip, pp, type, objfile)
struct field_info *fip;
- struct objfile * objfile;
+ struct objfile *objfile;
char ** pp;
- struct type * type;
+ struct type *type;
{
static struct complaint msg_unknown = {"\
Unsupported token in stabs string %s.\n",
@@ -611,21 +614,22 @@ read_cfront_baseclasses(fip, pp, type, objfile)
static struct complaint msg_notfound = {"\
Unable to find base type for %s.\n",
0, 0};
- int bnum=0;
+ int bnum = 0;
char * p;
int i;
struct nextfield *new;
- if (**pp==';') /* no base classes; return */
+ if (**pp == ';') /* no base classes; return */
{
++(*pp);
return 1;
}
/* first count base classes so we can allocate space before parsing */
- for (p = *pp; p && *p && *p!=';'; p++)
+ for (p = *pp; p && *p && *p != ';'; p++)
{
- if (*p==' ') bnum++;
+ if (*p == ' ')
+ bnum++;
}
bnum++; /* add one more for last one */
@@ -638,12 +642,12 @@ read_cfront_baseclasses(fip, pp, type, objfile)
{
int num_bytes = B_BYTES (TYPE_N_BASECLASSES (type));
char *pointer;
+
pointer = (char *) TYPE_ALLOC (type, num_bytes);
TYPE_FIELD_VIRTUAL_BITS (type) = (B_TYPE *) pointer;
}
B_CLRALL (TYPE_FIELD_VIRTUAL_BITS (type), TYPE_N_BASECLASSES (type));
-
for (i = 0; i < TYPE_N_BASECLASSES (type); i++)
{
new = (struct nextfield *) xmalloc (sizeof (struct nextfield));