aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.c
diff options
context:
space:
mode:
authorMichael Tiemann <tiemann@cygnus>1992-01-27 08:51:16 +0000
committerMichael Tiemann <tiemann@cygnus>1992-01-27 08:51:16 +0000
commit7c4f3f4a2fa7be5fa31ab09ab53528f7e247e55d (patch)
tree14bd1f3f0358e725005c610b829290e3d9064bf2 /gdb/symtab.c
parent24b2fbdc543a7c51f9552a8607c88e50a61670a2 (diff)
downloadgdb-7c4f3f4a2fa7be5fa31ab09ab53528f7e247e55d.zip
gdb-7c4f3f4a2fa7be5fa31ab09ab53528f7e247e55d.tar.gz
gdb-7c4f3f4a2fa7be5fa31ab09ab53528f7e247e55d.tar.bz2
Delete a superfluous space.
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r--gdb/symtab.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c
index c05a9e1..b5e83a7 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -233,6 +233,7 @@ gdb_mangle_name (type, i, j)
struct fn_field *f = TYPE_FN_FIELDLIST1 (type, i);
struct fn_field *method = &f[j];
char *field_name = TYPE_FN_FIELDLIST_NAME (type, i);
+ int is_constructor = strcmp(field_name, TYPE_NAME (type)) == 0;
/* Need a new type prefix. */
char *strchr ();
@@ -243,7 +244,7 @@ gdb_mangle_name (type, i, j)
int len = strlen (newname);
sprintf (buf, "__%s%s%d", const_prefix, volatile_prefix, len);
- mangled_name_len = (strlen (field_name)
+ mangled_name_len = ((is_constructor ? 0 : strlen (field_name))
+ strlen (buf) + len
+ strlen (TYPE_FN_FIELD_PHYSNAME (f, j))
+ 1);
@@ -265,7 +266,10 @@ gdb_mangle_name (type, i, j)
else
{
mangled_name = (char *)xmalloc (mangled_name_len);
- strcpy (mangled_name, TYPE_FN_FIELDLIST_NAME (type, i));
+ if (is_constructor)
+ mangled_name[0] = '\0';
+ else
+ strcpy (mangled_name, field_name);
}
strcat (mangled_name, buf);
strcat (mangled_name, newname);
@@ -577,6 +581,9 @@ check_stub_method (type, i, j)
struct type **argtypes;
struct type *mtype;
+ if (demangled_name == NULL)
+ error ("Internal: Cannot demangle mangled name `%s'.", mangled_name);
+
/* Now, read in the parameters that define this type. */
argtypetext = strchr (demangled_name, '(') + 1;
p = argtypetext;
@@ -1031,7 +1038,7 @@ lookup_symbol (name, block, namespace, is_a_field_of_this, symtab)
/* Now search all per-file blocks for static mangled symbols.
Do the symtabs first, then check the psymtabs. */
- if (namespace == VAR_NAMESPACE)
+ if (namespace == VAR_NAMESPACE)
{
for (s = symtab_list; s; s = s->next)
{
@@ -2686,7 +2693,7 @@ init_type (code, length, uns, name)
/* C++ fancies. */
if (code == TYPE_CODE_STRUCT || code == TYPE_CODE_UNION)
- TYPE_CPLUS_SPECIFIC(type) = &cplus_struct_default;
+ INIT_CPLUS_SPECIFIC(type);
return type;
}