summaryrefslogtreecommitdiff
path: root/gdb/cp-support.h
diff options
context:
space:
mode:
authorDaniel Jacobowitz <dan@debian.org>2005-03-11 02:24:23 +0000
committerDaniel Jacobowitz <dan@debian.org>2005-03-11 02:24:23 +0000
commitc20637db7b29f4886af5f689e00fedfa1dc4ecd8 (patch)
tree519204fcd7ae05aca8797681ad97ce219bb957cc /gdb/cp-support.h
parentfd7061186f565ba7faf7a36b440f5d377963aa98 (diff)
downloadgdb-c20637db7b29f4886af5f689e00fedfa1dc4ecd8.tar.gz
* Makefile.in (SFILES): Add cp-names.y.
(libiberty_h, safe_ctype_h): New. (YYFILES): Add cp-names.c. (YYOBJ): Add cp-names.o. (test-cp-names.o, test-cp-names$(EXEEXT), cp-names.o): New rules. (clean): Remove test-cp-names$(EXEEXT). (local-maintainer-clean): Remove cp-names.c. * cp-names.y: New file. * cp-support.c (find_last_component): Delete. (d_left, d_right): Define. (cp_canonicalize_string, mangled_name_to_comp): New functions. (cp_class_name_from_physname, method_name_from_physname): Rewrite to use mangled_name_to_comp. * cp-support.h (cp_canonicalize_string, cp_demangled_name_to_comp) (cp_comp_to_string): New prototypes. * config/djgpp/fnchange.lst: Add cp-names.c.
Diffstat (limited to 'gdb/cp-support.h')
-rw-r--r--gdb/cp-support.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/gdb/cp-support.h b/gdb/cp-support.h
index f463d598c60..4f8ae2cf63f 100644
--- a/gdb/cp-support.h
+++ b/gdb/cp-support.h
@@ -1,5 +1,5 @@
/* Helper routines for C++ support in GDB.
- Copyright 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
Contributed by MontaVista Software.
Namespace support contributed by David Carlton.
@@ -35,6 +35,7 @@ struct obstack;
struct block;
struct objfile;
struct type;
+struct demangle_component;
/* This struct is designed to store data from using directives. It
says that names from namespace INNER should be visible within
@@ -52,6 +53,8 @@ struct using_direct
/* Functions from cp-support.c. */
+extern char *cp_canonicalize_string (const char *string);
+
extern char *cp_class_name_from_physname (const char *physname);
extern char *method_name_from_physname (const char *physname);
@@ -113,6 +116,14 @@ extern void cp_check_possible_namespace_symbols (const char *name,
struct type *cp_lookup_transparent_type (const char *name);
+/* Functions from cp-names.y. */
+
+extern struct demangle_component *cp_demangled_name_to_comp
+ (const char *demangled_name, void **memory_p, const char **errmsg);
+
+extern char *cp_comp_to_string (struct demangle_component *result,
+ int estimated_len);
+
/* The list of "maint cplus" commands. */
extern struct cmd_list_element *maint_cplus_cmd_list;