merge from gcc

This commit is contained in:
DJ Delorie
2007-01-30 23:16:58 +00:00
parent 71f2e6f41f
commit 208c16740c
5 changed files with 530 additions and 322 deletions

View File

@@ -3,6 +3,44 @@
* strsignal.c (psignal): Change type of signo to int.
* functions.texi: Regenerate.
2007-01-29 Simon Baldwin <simonb@google.com>
* 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.
2007-01-12 Ben Elliston <bje@au.ibm.com>
* pex-unix.c (writeerr): Cast write result to void.

File diff suppressed because it is too large Load Diff

View File

@@ -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)