summaryrefslogtreecommitdiff
path: root/libiberty/cp-demangle.h
diff options
context:
space:
mode:
authorSimon Baldwin <simonb@google.com>2007-01-29 20:07:49 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2007-01-29 20:07:49 +0000
commit456cc5cf65e65182129422f96925534dc8a20777 (patch)
tree0de29b23b81ceb6063231181db49a4a5fb6d4d18 /libiberty/cp-demangle.h
parent306219a28de461c81501a32d77d3e0b1cce832c8 (diff)
downloadgcc-456cc5cf65e65182129422f96925534dc8a20777.tar.gz
demangle.h: New cplus_demangle_print_callback...
include/: * demangle.h: New cplus_demangle_print_callback, cplus_demangle_v3_callback, and java_demangle_v3_callback function prototypes, and demangle_callbackref type definition. libiberty/: * cp-demangle.h (cplus_demangle_operators): External definition suppressed if not building for libstdc++. * cp-demangle.c (__gcclibcxx_demangle_callback): Augmented interface to demangling, provides a malloc-less version of __cxa_demangle. (cplus_demangle_print_callback): Public callback version of cplus_demangle_print. (struct d_growable_string): New growable string structure. (d_growable_string_init): New function, provides support for growable strings separate from print info. (d_growable_string_resize): Likewise. (d_growable_string_append_buffer): Likewise. (d_growable_string_callback_adapter):): Likewise. (d_print_init): New print info initialization function. (d_print_error): Macro replace by inline function. (d_print_saw_error): Likewise. (d_append_char): Likewise. (d_append_buffer): Likewise. (d_append_string): New inline function, replaces the d_append_string_constant macro. (d_flush_buffer): New function, flushes buffer to callback. (d_demangle_callback, is_ctor_or_dtor): Malloc-based fallback for unsupported dynamic arrays replaced by alloca(). (d_demangle): Return string length estimating removed. (d_dump): Moved error case handling from call site into function. (d_print_resize): Function removed. (d_print_append_char): Likewise. (d_print_append_buffer): Likewise. (d_print_error): Likewise. (d_print_comp): Added special case handling for Java arrays. (java_demangle_v3): Removed string post-processing for Java arrays, now replaced by special case handling in d_print_comp. (cplus_demangle_v3_callback): Augmented interface to demangling, provides a malloc-less version of cplus_demangle_v3. (java_demangle_v3_callback): Augmented interface to demangling, provides a malloc-less version of java_demangle_v3. From-SVN: r121305
Diffstat (limited to 'libiberty/cp-demangle.h')
-rw-r--r--libiberty/cp-demangle.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/libiberty/cp-demangle.h b/libiberty/cp-demangle.h
index 920ca47796c..8622f29ca89 100644
--- a/libiberty/cp-demangle.h
+++ b/libiberty/cp-demangle.h
@@ -1,5 +1,5 @@
/* Internal demangler interface for g++ V3 ABI.
- Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
Written by Ian Lance Taylor <ian@wasabisystems.com>.
This file is part of the libiberty library, which is part of GCC.
@@ -143,8 +143,9 @@ struct d_info
#define CP_STATIC_IF_GLIBCPP_V3 extern
#endif
-CP_STATIC_IF_GLIBCPP_V3
-const struct demangle_operator_info cplus_demangle_operators[];
+#ifndef IN_GLIBCPP_V3
+extern const struct demangle_operator_info cplus_demangle_operators[];
+#endif
#define D_BUILTIN_TYPE_COUNT (26)