aboutsummaryrefslogtreecommitdiff
path: root/gdb/cp-support.h
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2005-03-11 02:24:23 +0000
committerDaniel Jacobowitz <drow@false.org>2005-03-11 02:24:23 +0000
commitfb4c6eba439c4dcd3a58caae407d5d49a7d6e96d (patch)
treecaf532075e218670637faf0ab7f4e7354e86f369 /gdb/cp-support.h
parent0fa77c953fa63fc96ebcc2b2560481c0bd0b4b56 (diff)
downloadgdb-fb4c6eba439c4dcd3a58caae407d5d49a7d6e96d.zip
gdb-fb4c6eba439c4dcd3a58caae407d5d49a7d6e96d.tar.gz
gdb-fb4c6eba439c4dcd3a58caae407d5d49a7d6e96d.tar.bz2
* 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 f463d59..4f8ae2c 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;