aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.c
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>2002-02-27 18:22:24 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>2002-02-27 18:22:24 +0000
commit4363022793abc0b05ebce2ce217c8d866212db38 (patch)
tree10b50588001197ad87fb213e87f4fc1142684c95 /gdb/symtab.c
parentef412327e6a8e2cd39e884dc5cc520e16b80255d (diff)
downloadgdb-4363022793abc0b05ebce2ce217c8d866212db38.zip
gdb-4363022793abc0b05ebce2ce217c8d866212db38.tar.gz
gdb-4363022793abc0b05ebce2ce217c8d866212db38.tar.bz2
* symtab.c (gdb_mangle_name): Handle fully mangled v3 abi physnames.
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r--gdb/symtab.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 3aa334e..e464b0b 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -291,7 +291,10 @@ gdb_mangle_name (struct type *type, int method_id, int signature_id)
char buf[20];
int len = (newname == NULL ? 0 : strlen (newname));
- if (is_operator_name (field_name))
+ /* Nothing to do if physname already contains a fully mangled v3 abi name
+ or an operator name. */
+ if ((physname[0] == '_' && physname[1] == 'Z')
+ || is_operator_name (field_name))
return xstrdup (physname);
is_full_physname_constructor = is_constructor_name (physname);