This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Convert libiberty to use ISO C prototype style
- From: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- To: gcc-patches at gcc dot gnu dot org
- Cc: DJ Delorie <dj at redhat dot com>, gcc at integrable-solutions dot net
- Date: 26 Mar 2005 19:33:34 +0100
- Subject: Convert libiberty to use ISO C prototype style
- Organization: Integrable Solutions
[ I sent an earlier patch but it does not seem to make it through. ]
This implements a quarter (I think) of the conversion of libiberty to
use C90 prototype style, as discussed on the main list.
-- Gaby
include/
2005-03-26 Gabriel Dos Reis <gdr@integrable-solutions.net>
* demangle.h: Remove uses of PARAMS.
* libiberty.h (ANSI_PROTOTYPES): Remove guard since
ANSI_PROTOTYPES is always assumed.
Remove uses of PARAMS throughout.
libiberty/
2005-03-26 Gabriel Dos Reis <gdr@integrable-solutions.net>
Convert libiberty to use ISO C prototype style 2/n.
* cp-demangle.h: Remove uses of PARAMS.
* cp-demangle.c: Likewise.
(d_dump, cplus_demangle_fill_name,
cplus_demangle_fill_extended_operator, cplus_demangle_fill_ctor,
cplus_demangle_fill_dtor, d_make_empty, d_make_comp, d_make_name,
d_make_builtin_type, d_make_operator, d_make_extended_operator,
d_make_ctor, d_make_dtor, d_make_template_param, d_make_sub,
cplus_demangle_mangled_name, has_return_type,
is_ctor_dtor_or_conversion, d_encoding, d_name, d_nested_name,
d_prefix, d_unqualified_name, d_source_name, d_number,
d_identifier, d_operator_name, d_special_name, d_call_offset,
d_ctor_dtor_name, cplus_demangle_type, d_cv_qualifiers,
d_function_type, d_bare_function_type, d_class_enum_type,
d_array_type, d_pointer_to_member_type, d_template_param,
d_template_args, d_template_arg, d_expression, d_expr_primary,
d_local_name, d_discriminator, d_add_substitution,
d_substitution, d_print_resize, d_print_append_char,
d_print_append_buffer, d_print_error, cplus_demangle_print,
d_print_comp, d_print_java_identifier, d_print_mod_list,
d_print_mod, d_print_function_type, d_print_array_type,
d_print_expr_op, d_print_cast, cplus_demangle_init_info,
d_demangle, __cxa_demangle, cplus_demangle_v3, java_demangle_v3,
is_ctor_or_dtor, is_gnu_v3_mangled_ctor, is_gnu_v3_mangled_dtor,
print_usage, main):
2005-03-26 Gabriel Dos Reis <gdr@integrable-solutions.net>
Convert libiberty to ISO C prototype style 1/n.
* _doprnt.c: Remove conditional #include <varargs.h> on
ANSI_PROTOTYPES as the latter is always assumed.
(_doprnt, checkit, main): Use ISO C prototype.
* alloca.c (find_stack_direction, C_alloca): Use ISO C prototype.
* argv.c: Remove conditional #includes on ANSI_PROTOTYPES.
(dupargv, freeargv, buildargv, main): Use ISO C prototype.
* atexit.c (atexit): Likewise
* asprintf.c: Remove conditional include on ANSI_PROTOTYPES.
(asprintf): Use ISO C prototype.
* basename.c (basename): Likewise
* bcmp.c (bcmp): Likewise.
* bcopy.c (bcopy): Likewise.
* bzero.c (bzero): Likewise.
* bsearch.c (bsearch): Likewise. Improve const-correctness.
* choose-temp.c (choose_temp_base): Likewise.
* calloc.c: Remove conditional #include on ANSI_PROTOTYPES.
(calloc): Use ISO C prototype.
* clock.c (clock): Likewise.
* concat.c: Remove conditional #include on ANSI_PROTOTYPES.
(vconcat_length, vconcat_copy, concat_length, concat_copy,
concat_copy2, concat, reconcat, main): Use ISO C prototype.
* copysign.c (copysign): Likewise.
Index: include/demangle.h
===================================================================
RCS file: /cvs/gcc/gcc/include/demangle.h,v
retrieving revision 1.26
diff -p -r1.26 demangle.h
*** include/demangle.h 4 May 2004 18:13:54 -0000 1.26
--- include/demangle.h 26 Mar 2005 18:31:59 -0000
*************** extern const struct demangler_engine
*** 110,140 ****
} libiberty_demanglers[];
extern char *
! cplus_demangle PARAMS ((const char *mangled, int options));
extern int
! cplus_demangle_opname PARAMS ((const char *opname, char *result, int options));
extern const char *
! cplus_mangle_opname PARAMS ((const char *opname, int options));
/* Note: This sets global state. FIXME if you care about multi-threading. */
extern void
! set_cplus_marker_for_demangling PARAMS ((int ch));
extern enum demangling_styles
! cplus_demangle_set_style PARAMS ((enum demangling_styles style));
extern enum demangling_styles
! cplus_demangle_name_to_style PARAMS ((const char *name));
/* V3 ABI demangling entry points, defined in cp-demangle.c. */
extern char*
! cplus_demangle_v3 PARAMS ((const char* mangled, int options));
extern char*
! java_demangle_v3 PARAMS ((const char* mangled));
enum gnu_v3_ctor_kinds {
--- 110,140 ----
} libiberty_demanglers[];
extern char *
! cplus_demangle (const char *mangled, int options);
extern int
! cplus_demangle_opname (const char *opname, char *result, int options);
extern const char *
! cplus_mangle_opname (const char *opname, int options);
/* Note: This sets global state. FIXME if you care about multi-threading. */
extern void
! set_cplus_marker_for_demangling (int ch);
extern enum demangling_styles
! cplus_demangle_set_style (enum demangling_styles style);
extern enum demangling_styles
! cplus_demangle_name_to_style (const char *name);
/* V3 ABI demangling entry points, defined in cp-demangle.c. */
extern char*
! cplus_demangle_v3 (const char* mangled, int options);
extern char*
! java_demangle_v3 (const char* mangled);
enum gnu_v3_ctor_kinds {
*************** enum gnu_v3_ctor_kinds {
*** 148,154 ****
gnu_v3_ctor_kinds' value indicating what kind of constructor
it is. */
extern enum gnu_v3_ctor_kinds
! is_gnu_v3_mangled_ctor PARAMS ((const char *name));
enum gnu_v3_dtor_kinds {
--- 148,154 ----
gnu_v3_ctor_kinds' value indicating what kind of constructor
it is. */
extern enum gnu_v3_ctor_kinds
! is_gnu_v3_mangled_ctor (const char *name);
enum gnu_v3_dtor_kinds {
*************** enum gnu_v3_dtor_kinds {
*** 162,168 ****
gnu_v3_dtor_kinds' value, indicating what kind of destructor
it is. */
extern enum gnu_v3_dtor_kinds
! is_gnu_v3_mangled_dtor PARAMS ((const char *name));
/* The V3 demangler works in two passes. The first pass builds a tree
representation of the mangled name, and the second pass turns the
--- 162,168 ----
gnu_v3_dtor_kinds' value, indicating what kind of destructor
it is. */
extern enum gnu_v3_dtor_kinds
! is_gnu_v3_mangled_dtor (const char *name);
/* The V3 demangler works in two passes. The first pass builds a tree
representation of the mangled name, and the second pass turns the
*************** struct demangle_component
*** 440,464 ****
unrecognized or inappropriate component type. */
extern int
! cplus_demangle_fill_component PARAMS ((struct demangle_component *fill,
! enum demangle_component_type,
! struct demangle_component *left,
! struct demangle_component *right));
/* Fill in a DEMANGLE_COMPONENT_NAME. Returns non-zero on success,
zero for bad arguments. */
extern int
! cplus_demangle_fill_name PARAMS ((struct demangle_component *fill,
! const char *, int));
/* Fill in a DEMANGLE_COMPONENT_BUILTIN_TYPE, using the name of the
builtin type (e.g., "int", etc.). Returns non-zero on success,
zero if the type is not recognized. */
extern int
! cplus_demangle_fill_builtin_type PARAMS ((struct demangle_component *fill,
! const char *type_name));
/* Fill in a DEMANGLE_COMPONENT_OPERATOR, using the name of the
operator and the number of arguments which it takes (the latter is
--- 440,464 ----
unrecognized or inappropriate component type. */
extern int
! cplus_demangle_fill_component (struct demangle_component *fill,
! enum demangle_component_type,
! struct demangle_component *left,
! struct demangle_component *right);
/* Fill in a DEMANGLE_COMPONENT_NAME. Returns non-zero on success,
zero for bad arguments. */
extern int
! cplus_demangle_fill_name (struct demangle_component *fill,
! const char *, int);
/* Fill in a DEMANGLE_COMPONENT_BUILTIN_TYPE, using the name of the
builtin type (e.g., "int", etc.). Returns non-zero on success,
zero if the type is not recognized. */
extern int
! cplus_demangle_fill_builtin_type (struct demangle_component *fill,
! const char *type_name);
/* Fill in a DEMANGLE_COMPONENT_OPERATOR, using the name of the
operator and the number of arguments which it takes (the latter is
*************** cplus_demangle_fill_builtin_type PARAMS
*** 467,499 ****
not recognized. */
extern int
! cplus_demangle_fill_operator PARAMS ((struct demangle_component *fill,
! const char *opname, int args));
/* Fill in a DEMANGLE_COMPONENT_EXTENDED_OPERATOR, providing the
number of arguments and the name. Returns non-zero on success,
zero for bad arguments. */
extern int
! cplus_demangle_fill_extended_operator PARAMS ((struct demangle_component *fill,
! int numargs,
! struct demangle_component *nm));
/* Fill in a DEMANGLE_COMPONENT_CTOR. Returns non-zero on success,
zero for bad arguments. */
extern int
! cplus_demangle_fill_ctor PARAMS ((struct demangle_component *fill,
! enum gnu_v3_ctor_kinds kind,
! struct demangle_component *name));
/* Fill in a DEMANGLE_COMPONENT_DTOR. Returns non-zero on success,
zero for bad arguments. */
extern int
! cplus_demangle_fill_dtor PARAMS ((struct demangle_component *fill,
! enum gnu_v3_dtor_kinds kind,
! struct demangle_component *name));
/* This function translates a mangled name into a struct
demangle_component tree. The first argument is the mangled name.
--- 467,499 ----
not recognized. */
extern int
! cplus_demangle_fill_operator (struct demangle_component *fill,
! const char *opname, int args);
/* Fill in a DEMANGLE_COMPONENT_EXTENDED_OPERATOR, providing the
number of arguments and the name. Returns non-zero on success,
zero for bad arguments. */
extern int
! cplus_demangle_fill_extended_operator (struct demangle_component *fill,
! int numargs,
! struct demangle_component *nm);
/* Fill in a DEMANGLE_COMPONENT_CTOR. Returns non-zero on success,
zero for bad arguments. */
extern int
! cplus_demangle_fill_ctor (struct demangle_component *fill,
! enum gnu_v3_ctor_kinds kind,
! struct demangle_component *name);
/* Fill in a DEMANGLE_COMPONENT_DTOR. Returns non-zero on success,
zero for bad arguments. */
extern int
! cplus_demangle_fill_dtor (struct demangle_component *fill,
! enum gnu_v3_dtor_kinds kind,
! struct demangle_component *name);
/* This function translates a mangled name into a struct
demangle_component tree. The first argument is the mangled name.
*************** cplus_demangle_fill_dtor PARAMS ((struct
*** 504,512 ****
needed. */
extern struct demangle_component *
! cplus_demangle_v3_components PARAMS ((const char *mangled,
! int options,
! void **mem));
/* This function takes a struct demangle_component tree and returns
the corresponding demangled string. The first argument is DMGL_*
--- 504,510 ----
needed. */
extern struct demangle_component *
! cplus_demangle_v3_components (const char *mangled, int options, void **mem);
/* This function takes a struct demangle_component tree and returns
the corresponding demangled string. The first argument is DMGL_*
*************** cplus_demangle_v3_components PARAMS ((co
*** 521,530 ****
memory allocation error. */
extern char *
! cplus_demangle_print PARAMS ((int options,
! const struct demangle_component *tree,
! int estimated_length,
! size_t *p_allocated_size));
#ifdef __cplusplus
}
--- 519,528 ----
memory allocation error. */
extern char *
! cplus_demangle_print (int options,
! const struct demangle_component *tree,
! int estimated_length,
! size_t *p_allocated_size);
#ifdef __cplusplus
}
Index: include/libiberty.h
===================================================================
RCS file: /cvs/gcc/gcc/include/libiberty.h,v
retrieving revision 1.44
diff -p -r1.44 libiberty.h
*** include/libiberty.h 25 Mar 2005 04:41:35 -0000 1.44
--- include/libiberty.h 26 Mar 2005 18:31:59 -0000
*************** extern "C" {
*** 41,66 ****
#include "ansidecl.h"
- #ifdef ANSI_PROTOTYPES
/* Get a definition for size_t. */
#include <stddef.h>
/* Get a definition for va_list. */
#include <stdarg.h>
- #endif
/* Build an argument vector from a string. Allocates memory using
malloc. Use freeargv to free the vector. */
! extern char **buildargv PARAMS ((const char *)) ATTRIBUTE_MALLOC;
/* Free a vector returned by buildargv. */
! extern void freeargv PARAMS ((char **));
/* Duplicate an argument vector. Allocates memory using malloc. Use
freeargv to free the vector. */
! extern char **dupargv PARAMS ((char **)) ATTRIBUTE_MALLOC;
/* Return the last component of a path name. Note that we can't use a
--- 41,64 ----
#include "ansidecl.h"
/* Get a definition for size_t. */
#include <stddef.h>
/* Get a definition for va_list. */
#include <stdarg.h>
/* Build an argument vector from a string. Allocates memory using
malloc. Use freeargv to free the vector. */
! extern char **buildargv (const char *) ATTRIBUTE_MALLOC;
/* Free a vector returned by buildargv. */
! extern void freeargv (char **);
/* Duplicate an argument vector. Allocates memory using malloc. Use
freeargv to free the vector. */
! extern char **dupargv (char **) ATTRIBUTE_MALLOC;
/* Return the last component of a path name. Note that we can't use a
*************** extern char **dupargv PARAMS ((char **))
*** 75,81 ****
is 1, we found it so don't provide any declaration at all. */
#if !HAVE_DECL_BASENAME
#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined(__NetBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (__MINGW32__) || defined (HAVE_DECL_BASENAME)
! extern char *basename PARAMS ((const char *));
#else
extern char *basename ();
#endif
--- 73,79 ----
is 1, we found it so don't provide any declaration at all. */
#if !HAVE_DECL_BASENAME
#if defined (__GNU_LIBRARY__ ) || defined (__linux__) || defined (__FreeBSD__) || defined (__OpenBSD__) || defined(__NetBSD__) || defined (__CYGWIN__) || defined (__CYGWIN32__) || defined (__MINGW32__) || defined (HAVE_DECL_BASENAME)
! extern char *basename (const char *);
#else
extern char *basename ();
#endif
*************** extern char *basename ();
*** 83,99 ****
/* A well-defined basename () that is always compiled in. */
! extern const char *lbasename PARAMS ((const char *));
/* A well-defined realpath () that is always compiled in. */
! extern char *lrealpath PARAMS ((const char *));
/* Concatenate an arbitrary number of strings. You must pass NULL as
the last argument of this function, to terminate the list of
strings. Allocates memory using xmalloc. */
! extern char *concat PARAMS ((const char *, ...)) ATTRIBUTE_MALLOC ATTRIBUTE_SENTINEL;
/* Concatenate an arbitrary number of strings. You must pass NULL as
the last argument of this function, to terminate the list of
--- 81,97 ----
/* A well-defined basename () that is always compiled in. */
! extern const char *lbasename (const char *);
/* A well-defined realpath () that is always compiled in. */
! extern char *lrealpath (const char *);
/* Concatenate an arbitrary number of strings. You must pass NULL as
the last argument of this function, to terminate the list of
strings. Allocates memory using xmalloc. */
! extern char *concat (const char *, ...) ATTRIBUTE_MALLOC ATTRIBUTE_SENTINEL;
/* Concatenate an arbitrary number of strings. You must pass NULL as
the last argument of this function, to terminate the list of
*************** extern char *concat PARAMS ((const char
*** 102,128 ****
pointer to be freed after the new string is created, similar to the
way xrealloc works. */
! extern char *reconcat PARAMS ((char *, const char *, ...)) ATTRIBUTE_MALLOC ATTRIBUTE_SENTINEL;
/* Determine the length of concatenating an arbitrary number of
strings. You must pass NULL as the last argument of this function,
to terminate the list of strings. */
! extern unsigned long concat_length PARAMS ((const char *, ...)) ATTRIBUTE_SENTINEL;
/* Concatenate an arbitrary number of strings into a SUPPLIED area of
memory. You must pass NULL as the last argument of this function,
to terminate the list of strings. The supplied memory is assumed
to be large enough. */
! extern char *concat_copy PARAMS ((char *, const char *, ...)) ATTRIBUTE_SENTINEL;
/* Concatenate an arbitrary number of strings into a GLOBAL area of
memory. You must pass NULL as the last argument of this function,
to terminate the list of strings. The supplied memory is assumed
to be large enough. */
! extern char *concat_copy2 PARAMS ((const char *, ...)) ATTRIBUTE_SENTINEL;
/* This is the global area used by concat_copy2. */
--- 100,126 ----
pointer to be freed after the new string is created, similar to the
way xrealloc works. */
! extern char *reconcat (char *, const char *, ...) ATTRIBUTE_MALLOC ATTRIBUTE_SENTINEL;
/* Determine the length of concatenating an arbitrary number of
strings. You must pass NULL as the last argument of this function,
to terminate the list of strings. */
! extern unsigned long concat_length (const char *, ...) ATTRIBUTE_SENTINEL;
/* Concatenate an arbitrary number of strings into a SUPPLIED area of
memory. You must pass NULL as the last argument of this function,
to terminate the list of strings. The supplied memory is assumed
to be large enough. */
! extern char *concat_copy (char *, const char *, ...) ATTRIBUTE_SENTINEL;
/* Concatenate an arbitrary number of strings into a GLOBAL area of
memory. You must pass NULL as the last argument of this function,
to terminate the list of strings. The supplied memory is assumed
to be large enough. */
! extern char *concat_copy2 (const char *, ...) ATTRIBUTE_SENTINEL;
/* This is the global area used by concat_copy2. */
*************** extern char *libiberty_concat_ptr;
*** 138,149 ****
/* Check whether two file descriptors refer to the same file. */
! extern int fdmatch PARAMS ((int fd1, int fd2));
/* Get the working directory. The result is cached, so don't call
chdir() between calls to getpwd(). */
! extern char * getpwd PARAMS ((void));
/* Get the current time. */
/* Prototypes vary from system to system, so we only provide a
--- 136,147 ----
/* Check whether two file descriptors refer to the same file. */
! extern int fdmatch (int fd1, int fd2);
/* Get the working directory. The result is cached, so don't call
chdir() between calls to getpwd(). */
! extern char * getpwd (void);
/* Get the current time. */
/* Prototypes vary from system to system, so we only provide a
*************** extern char * getpwd PARAMS ((void));
*** 151,271 ****
#ifdef __MINGW32__
/* Forward declaration to avoid #include <sys/time.h>. */
struct timeval;
! extern int gettimeofday PARAMS ((struct timeval *, void *));
#endif
/* Get the amount of time the process has run, in microseconds. */
! extern long get_run_time PARAMS ((void));
/* Generate a relocated path to some installation directory. Allocates
return value using malloc. */
! extern char *make_relative_prefix PARAMS ((const char *, const char *,
! const char *)) ATTRIBUTE_MALLOC;
/* Choose a temporary directory to use for scratch files. */
! extern char *choose_temp_base PARAMS ((void)) ATTRIBUTE_MALLOC;
/* Return a temporary file name or NULL if unable to create one. */
! extern char *make_temp_file PARAMS ((const char *)) ATTRIBUTE_MALLOC;
/* Remove a link to a file unless it is special. */
! extern int unlink_if_ordinary PARAMS((const char *));
/* Allocate memory filled with spaces. Allocates using malloc. */
! extern const char *spaces PARAMS ((int count));
/* Return the maximum error number for which strerror will return a
string. */
! extern int errno_max PARAMS ((void));
/* Return the name of an errno value (e.g., strerrno (EINVAL) returns
"EINVAL"). */
! extern const char *strerrno PARAMS ((int));
/* Given the name of an errno value, return the value. */
! extern int strtoerrno PARAMS ((const char *));
/* ANSI's strerror(), but more robust. */
! extern char *xstrerror PARAMS ((int));
/* Return the maximum signal number for which strsignal will return a
string. */
! extern int signo_max PARAMS ((void));
/* Return a signal message string for a signal number
(e.g., strsignal (SIGHUP) returns something like "Hangup"). */
/* This is commented out as it can conflict with one in system headers.
We still document its existence though. */
! /*extern const char *strsignal PARAMS ((int));*/
/* Return the name of a signal number (e.g., strsigno (SIGHUP) returns
"SIGHUP"). */
! extern const char *strsigno PARAMS ((int));
/* Given the name of a signal, return its number. */
! extern int strtosigno PARAMS ((const char *));
/* Register a function to be run by xexit. Returns 0 on success. */
! extern int xatexit PARAMS ((void (*fn) (void)));
/* Exit, calling all the functions registered with xatexit. */
! extern void xexit PARAMS ((int status)) ATTRIBUTE_NORETURN;
/* Set the program name used by xmalloc. */
! extern void xmalloc_set_program_name PARAMS ((const char *));
/* Report an allocation failure. */
! extern void xmalloc_failed PARAMS ((size_t)) ATTRIBUTE_NORETURN;
/* Allocate memory without fail. If malloc fails, this will print a
message to stderr (using the name set by xmalloc_set_program_name,
if any) and then call xexit. */
! extern PTR xmalloc PARAMS ((size_t)) ATTRIBUTE_MALLOC;
/* Reallocate memory without fail. This works like xmalloc. Note,
realloc type functions are not suitable for attribute malloc since
they may return the same address across multiple calls. */
! extern PTR xrealloc PARAMS ((PTR, size_t));
/* Allocate memory without fail and set it to zero. This works like
xmalloc. */
! extern PTR xcalloc PARAMS ((size_t, size_t)) ATTRIBUTE_MALLOC;
/* Copy a string into a memory buffer without fail. */
! extern char *xstrdup PARAMS ((const char *)) ATTRIBUTE_MALLOC;
/* Copy at most N characters from string into a buffer without fail. */
! extern char *xstrndup PARAMS ((const char *, size_t)) ATTRIBUTE_MALLOC;
/* Copy an existing memory buffer to a new memory buffer without fail. */
! extern PTR xmemdup PARAMS ((const PTR, size_t, size_t)) ATTRIBUTE_MALLOC;
/* Physical memory routines. Return values are in BYTES. */
! extern double physmem_total PARAMS ((void));
! extern double physmem_available PARAMS ((void));
/* These macros provide a K&R/C89/C++-friendly way of allocating structures
--- 149,269 ----
#ifdef __MINGW32__
/* Forward declaration to avoid #include <sys/time.h>. */
struct timeval;
! extern int gettimeofday (struct timeval *, void *);
#endif
/* Get the amount of time the process has run, in microseconds. */
! extern long get_run_time (void);
/* Generate a relocated path to some installation directory. Allocates
return value using malloc. */
! extern char *make_relative_prefix (const char *, const char *,
! const char *) ATTRIBUTE_MALLOC;
/* Choose a temporary directory to use for scratch files. */
! extern char *choose_temp_base (void) ATTRIBUTE_MALLOC;
/* Return a temporary file name or NULL if unable to create one. */
! extern char *make_temp_file (const char *) ATTRIBUTE_MALLOC;
/* Remove a link to a file unless it is special. */
! extern int unlink_if_ordinary (const char *);
/* Allocate memory filled with spaces. Allocates using malloc. */
! extern const char *spaces (int count);
/* Return the maximum error number for which strerror will return a
string. */
! extern int errno_max (void);
/* Return the name of an errno value (e.g., strerrno (EINVAL) returns
"EINVAL"). */
! extern const char *strerrno (int);
/* Given the name of an errno value, return the value. */
! extern int strtoerrno (const char *);
/* ANSI's strerror(), but more robust. */
! extern char *xstrerror (int);
/* Return the maximum signal number for which strsignal will return a
string. */
! extern int signo_max (void);
/* Return a signal message string for a signal number
(e.g., strsignal (SIGHUP) returns something like "Hangup"). */
/* This is commented out as it can conflict with one in system headers.
We still document its existence though. */
! /*extern const char *strsignal (int);*/
/* Return the name of a signal number (e.g., strsigno (SIGHUP) returns
"SIGHUP"). */
! extern const char *strsigno (int);
/* Given the name of a signal, return its number. */
! extern int strtosigno (const char *);
/* Register a function to be run by xexit. Returns 0 on success. */
! extern int xatexit (void (*fn) (void));
/* Exit, calling all the functions registered with xatexit. */
! extern void xexit (int status) ATTRIBUTE_NORETURN;
/* Set the program name used by xmalloc. */
! extern void xmalloc_set_program_name (const char *);
/* Report an allocation failure. */
! extern void xmalloc_failed (size_t) ATTRIBUTE_NORETURN;
/* Allocate memory without fail. If malloc fails, this will print a
message to stderr (using the name set by xmalloc_set_program_name,
if any) and then call xexit. */
! extern PTR xmalloc (size_t) ATTRIBUTE_MALLOC;
/* Reallocate memory without fail. This works like xmalloc. Note,
realloc type functions are not suitable for attribute malloc since
they may return the same address across multiple calls. */
! extern PTR xrealloc (PTR, size_t);
/* Allocate memory without fail and set it to zero. This works like
xmalloc. */
! extern PTR xcalloc (size_t, size_t) ATTRIBUTE_MALLOC;
/* Copy a string into a memory buffer without fail. */
! extern char *xstrdup (const char *) ATTRIBUTE_MALLOC;
/* Copy at most N characters from string into a buffer without fail. */
! extern char *xstrndup (const char *, size_t) ATTRIBUTE_MALLOC;
/* Copy an existing memory buffer to a new memory buffer without fail. */
! extern PTR xmemdup (const PTR, size_t, size_t) ATTRIBUTE_MALLOC;
/* Physical memory routines. Return values are in BYTES. */
! extern double physmem_total (void);
! extern double physmem_available (void);
/* These macros provide a K&R/C89/C++-friendly way of allocating structures
*************** extern double physmem_available PARAMS (
*** 303,309 ****
#define _hex_array_size 256
#define _hex_bad 99
extern const unsigned char _hex_value[_hex_array_size];
! extern void hex_init PARAMS ((void));
#define hex_p(c) (hex_value (c) != _hex_bad)
/* If you change this, note well: Some code relies on side effects in
the argument being performed exactly once. */
--- 301,307 ----
#define _hex_array_size 256
#define _hex_bad 99
extern const unsigned char _hex_value[_hex_array_size];
! extern void hex_init (void);
#define hex_p(c) (hex_value (c) != _hex_bad)
/* If you change this, note well: Some code relies on side effects in
the argument being performed exactly once. */
*************** extern void hex_init PARAMS ((void));
*** 319,343 ****
/* Execute a program. */
! extern int pexecute PARAMS ((const char *, char * const *, const char *,
! const char *, char **, char **, int));
/* Wait for pexecute to finish. */
! extern int pwait PARAMS ((int, int *, int));
#if !HAVE_DECL_ASPRINTF
/* Like sprintf but provides a pointer to malloc'd storage, which must
be freed by the caller. */
! extern int asprintf PARAMS ((char **, const char *, ...)) ATTRIBUTE_PRINTF_2;
#endif
#if !HAVE_DECL_VASPRINTF
/* Like vsprintf but provides a pointer to malloc'd storage, which
must be freed by the caller. */
! extern int vasprintf PARAMS ((char **, const char *, va_list))
ATTRIBUTE_PRINTF(2,0);
#endif
--- 317,341 ----
/* Execute a program. */
! extern int pexecute (const char *, char * const *, const char *,
! const char *, char **, char **, int);
/* Wait for pexecute to finish. */
! extern int pwait (int, int *, int);
#if !HAVE_DECL_ASPRINTF
/* Like sprintf but provides a pointer to malloc'd storage, which must
be freed by the caller. */
! extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
#endif
#if !HAVE_DECL_VASPRINTF
/* Like vsprintf but provides a pointer to malloc'd storage, which
must be freed by the caller. */
! extern int vasprintf (char **, const char *, va_list)
ATTRIBUTE_PRINTF(2,0);
#endif
*************** extern int vasprintf PARAMS ((char **, c
*** 349,355 ****
USE_C_ALLOCA yourself. The canonical autoconf macro C_ALLOCA is
also set/unset as it is often used to indicate whether code needs
to call alloca(0). */
! extern PTR C_alloca PARAMS ((size_t)) ATTRIBUTE_MALLOC;
#undef alloca
#if GCC_VERSION >= 2000 && !defined USE_C_ALLOCA
# define alloca(x) __builtin_alloca(x)
--- 347,353 ----
USE_C_ALLOCA yourself. The canonical autoconf macro C_ALLOCA is
also set/unset as it is often used to indicate whether code needs
to call alloca(0). */
! extern PTR C_alloca (size_t) ATTRIBUTE_MALLOC;
#undef alloca
#if GCC_VERSION >= 2000 && !defined USE_C_ALLOCA
# define alloca(x) __builtin_alloca(x)
Index: libiberty/_doprnt.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/_doprnt.c,v
retrieving revision 1.2
diff -p -r1.2 _doprnt.c
*** libiberty/_doprnt.c 22 Jan 2002 20:03:29 -0000 1.2
--- libiberty/_doprnt.c 26 Mar 2005 18:32:03 -0000
*************** Foundation, 59 Temple Place - Suite 330,
*** 21,31 ****
#include "safe-ctype.h"
#include <stdio.h>
- #ifdef ANSI_PROTOTYPES
#include <stdarg.h>
- #else
- #include <varargs.h>
- #endif
#ifdef HAVE_STRING_H
#include <string.h>
#endif
--- 21,27 ----
*************** Foundation, 59 Temple Place - Suite 330,
*** 79,88 ****
} while (0)
int
! _doprnt (format, ap, stream)
! const char * format;
! va_list ap;
! FILE * stream;
{
const char * ptr = format;
char specifier[128];
--- 75,81 ----
} while (0)
int
! _doprnt (const char *format, va_list ap, FILE *stream)
{
const char * ptr = format;
char specifier[128];
*************** _doprnt (format, ap, stream)
*** 223,232 ****
fflush(stdin); \
} while (0)
! static int checkit PARAMS ((const char * format, ...)) ATTRIBUTE_PRINTF_1;
static int
! checkit VPARAMS ((const char* format, ...))
{
int result;
VA_OPEN (args, format);
--- 216,225 ----
fflush(stdin); \
} while (0)
! static int checkit (const char * format, ...) ATTRIBUTE_PRINTF_1;
static int
! checkit (const char* format, ...)
{
int result;
VA_OPEN (args, format);
*************** checkit VPARAMS ((const char* format, ..
*** 239,245 ****
}
int
! main ()
{
RESULT(checkit ("<%d>\n", 0x12345678));
RESULT(printf ("<%d>\n", 0x12345678));
--- 232,238 ----
}
int
! main (void)
{
RESULT(checkit ("<%d>\n", 0x12345678));
RESULT(printf ("<%d>\n", 0x12345678));
Index: libiberty/alloca.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/alloca.c,v
retrieving revision 1.8
diff -p -r1.8 alloca.c
*** libiberty/alloca.c 16 Oct 2001 02:50:13 -0000 1.8
--- libiberty/alloca.c 26 Mar 2005 18:32:04 -0000
*************** static int stack_dir; /* 1 or -1 once k
*** 97,103 ****
#define STACK_DIR stack_dir
static void
! find_stack_direction ()
{
static char *addr = NULL; /* Address of first `dummy', once known. */
auto char dummy; /* To get stack address. */
--- 97,103 ----
#define STACK_DIR stack_dir
static void
! find_stack_direction (void)
{
static char *addr = NULL; /* Address of first `dummy', once known. */
auto char dummy; /* To get stack address. */
*************** static header *last_alloca_header = NULL
*** 153,160 ****
/* @undocumented C_alloca */
PTR
! C_alloca (size)
! size_t size;
{
auto char probe; /* Probes stack depth: */
register char *depth = ADDRESS_FUNCTION (probe);
--- 153,159 ----
/* @undocumented C_alloca */
PTR
! C_alloca (size_t size)
{
auto char probe; /* Probes stack depth: */
register char *depth = ADDRESS_FUNCTION (probe);
Index: libiberty/argv.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/argv.c,v
retrieving revision 1.13
diff -p -r1.13 argv.c
*** libiberty/argv.c 15 Apr 2003 20:36:33 -0000 1.13
--- libiberty/argv.c 26 Mar 2005 18:32:04 -0000
*************** Boston, MA 02111-1307, USA. */
*** 29,54 ****
/* Routines imported from standard C runtime libraries. */
- #ifdef ANSI_PROTOTYPES
-
#include <stddef.h>
#include <string.h>
#include <stdlib.h>
- #else /* !ANSI_PROTOTYPES */
-
- #if !defined _WIN32 || defined __GNUC__
- extern char *memcpy (); /* Copy memory region */
- extern int strlen (); /* Count length of string */
- extern char *malloc (); /* Standard memory allocater */
- extern char *realloc (); /* Standard memory reallocator */
- extern void free (); /* Free malloc'd memory */
- extern char *strdup (); /* Duplicate a string */
- #endif
-
- #endif /* ANSI_PROTOTYPES */
-
-
#ifndef NULL
#define NULL 0
#endif
--- 29,38 ----
*************** argument vector.
*** 75,82 ****
*/
char **
! dupargv (argv)
! char **argv;
{
int argc;
char **copy;
--- 59,65 ----
*/
char **
! dupargv (char **argv)
{
int argc;
char **copy;
*************** itself.
*** 119,126 ****
*/
! void freeargv (vector)
! char **vector;
{
register char **scan;
--- 102,108 ----
*/
! void freeargv (char **vector)
{
register char **scan;
*************** returned, as appropriate.
*** 174,181 ****
*/
! char **buildargv (input)
! const char *input;
{
char *arg;
char *copybuf;
--- 156,162 ----
*/
! char **buildargv (const char *input)
{
char *arg;
char *copybuf;
*************** static const char *const tests[] =
*** 325,331 ****
NULL
};
! int main ()
{
char **argv;
const char *const *test;
--- 306,313 ----
NULL
};
! int
! main (void)
{
char **argv;
const char *const *test;
Index: libiberty/asprintf.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/asprintf.c,v
retrieving revision 1.7
diff -p -r1.7 asprintf.c
*** libiberty/asprintf.c 3 Jun 2003 18:19:17 -0000 1.7
--- libiberty/asprintf.c 26 Mar 2005 18:32:04 -0000
*************** Boston, MA 02111-1307, USA. */
*** 22,32 ****
#include "ansidecl.h"
#include "libiberty.h"
- #ifdef ANSI_PROTOTYPES
#include <stdarg.h>
- #else
- #include <varargs.h>
- #endif
/*
--- 22,28 ----
*************** not be allocated, minus one is returned
*** 45,51 ****
*/
int
! asprintf VPARAMS ((char **buf, const char *fmt, ...))
{
int status;
VA_OPEN (ap, fmt);
--- 41,47 ----
*/
int
! asprintf (char **buf, const char *fmt, ...)
{
int status;
VA_OPEN (ap, fmt);
Index: libiberty/atexit.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/atexit.c,v
retrieving revision 1.4
diff -p -r1.4 atexit.c
*** libiberty/atexit.c 26 Sep 2001 18:16:17 -0000 1.4
--- libiberty/atexit.c 26 Mar 2005 18:32:04 -0000
*************** Causes function @var{f} to be called at
*** 16,23 ****
#ifdef HAVE_ON_EXIT
int
! atexit(f)
! void (*f)();
{
/* If the system doesn't provide a definition for atexit, use on_exit
if the system provides that. */
--- 16,22 ----
#ifdef HAVE_ON_EXIT
int
! atexit(void (*f)(void))
{
/* If the system doesn't provide a definition for atexit, use on_exit
if the system provides that. */
Index: libiberty/basename.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/basename.c,v
retrieving revision 1.6
diff -p -r1.6 basename.c
*** libiberty/basename.c 26 Sep 2001 18:16:17 -0000 1.6
--- libiberty/basename.c 26 Mar 2005 18:32:04 -0000
*************** Behavior is undefined if the pathname en
*** 37,44 ****
#endif /* DIR_SEPARATOR_2 */
char *
! basename (name)
! const char *name;
{
const char *base;
--- 37,43 ----
#endif /* DIR_SEPARATOR_2 */
char *
! basename (const char *name)
{
const char *base;
Index: libiberty/bcmp.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/bcmp.c,v
retrieving revision 1.4
diff -p -r1.4 bcmp.c
*** libiberty/bcmp.c 9 Oct 2001 23:33:57 -0000 1.4
--- libiberty/bcmp.c 26 Mar 2005 18:32:04 -0000
*************** result mean @var{x} sorts before @var{y}
*** 17,25 ****
int
! bcmp (from, to, count)
! char *from, *to;
! int count;
{
int rtnval = 0;
--- 17,23 ----
int
! bcmp (char *from, char *to, int count)
{
int rtnval = 0;
Index: libiberty/bcopy.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/bcopy.c,v
retrieving revision 1.3
diff -p -r1.3 bcopy.c
*** libiberty/bcopy.c 26 Sep 2001 18:16:17 -0000 1.3
--- libiberty/bcopy.c 26 Mar 2005 18:32:04 -0000
*************** Copies @var{length} bytes from memory re
*** 10,18 ****
*/
void
! bcopy (src, dest, len)
! register char *src, *dest;
! int len;
{
if (dest < src)
while (len--)
--- 10,16 ----
*/
void
! bcopy (register char *src, register char *dest, int len)
{
if (dest < src)
while (len--)
Index: libiberty/bsearch.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/bsearch.c,v
retrieving revision 1.2
diff -p -r1.2 bsearch.c
*** libiberty/bsearch.c 26 Sep 2001 18:16:17 -0000 1.2
--- libiberty/bsearch.c 26 Mar 2005 18:32:04 -0000
*************** is respectively less than, matching, or
*** 67,82 ****
* look at item 3.
*/
void *
! bsearch(key, base0, nmemb, size, compar)
! register void *key;
! void *base0;
! size_t nmemb;
! register size_t size;
! register int (*compar)();
{
! register char *base = base0;
register int lim, cmp;
! register void *p;
for (lim = nmemb; lim != 0; lim >>= 1) {
p = base + (lim >> 1) * size;
--- 67,79 ----
* look at item 3.
*/
void *
! bsearch (register const void *key, const void *base0,
! size_t nmemb, register size_t size,
! register int (*compar)(const void *, const void *))
{
! register const char *base = (const char *) base0;
register int lim, cmp;
! register const void *p;
for (lim = nmemb; lim != 0; lim >>= 1) {
p = base + (lim >> 1) * size;
*************** bsearch(key, base0, nmemb, size, compar)
*** 84,90 ****
if (cmp == 0)
return (p);
if (cmp > 0) { /* key > p: move right */
! base = (char *)p + size;
lim--;
} /* else move left */
}
--- 81,87 ----
if (cmp == 0)
return (p);
if (cmp > 0) { /* key > p: move right */
! base = (const char *)p + size;
lim--;
} /* else move left */
}
Index: libiberty/bzero.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/bzero.c,v
retrieving revision 1.3
diff -p -r1.3 bzero.c
*** libiberty/bzero.c 26 Sep 2001 18:16:17 -0000 1.3
--- libiberty/bzero.c 26 Mar 2005 18:32:04 -0000
*************** is deprecated in favor of @code{memset}.
*** 14,22 ****
void
! bzero (to, count)
! char *to;
! int count;
{
while (count-- > 0)
{
--- 14,20 ----
void
! bzero (char *to, int count)
{
while (count-- > 0)
{
Index: libiberty/calloc.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/calloc.c,v
retrieving revision 1.5
diff -p -r1.5 calloc.c
*** libiberty/calloc.c 15 Apr 2003 20:36:33 -0000 1.5
--- libiberty/calloc.c 26 Mar 2005 18:32:04 -0000
*************** Uses @code{malloc} to allocate storage f
*** 13,31 ****
*/
#include "ansidecl.h"
- #ifdef ANSI_PROTOTYPES
#include <stddef.h>
- #else
- #define size_t unsigned long
- #endif
/* For systems with larger pointers than ints, this must be declared. */
! PTR malloc PARAMS ((size_t));
! void bzero PARAMS ((PTR, size_t));
PTR
! calloc (nelem, elsize)
! size_t nelem, elsize;
{
register PTR ptr;
--- 13,26 ----
*/
#include "ansidecl.h"
#include <stddef.h>
/* For systems with larger pointers than ints, this must be declared. */
! PTR malloc (size_t);
! void bzero (PTR, size_t);
PTR
! calloc (size_t nelem, size_t elsize)
{
register PTR ptr;
Index: libiberty/choose-temp.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/choose-temp.c,v
retrieving revision 1.18
diff -p -r1.18 choose-temp.c
*** libiberty/choose-temp.c 17 Oct 2001 21:15:40 -0000 1.18
--- libiberty/choose-temp.c 26 Mar 2005 18:32:04 -0000
*************** Boston, MA 02111-1307, USA. */
*** 30,36 ****
#endif
#include "libiberty.h"
! extern char *choose_tmpdir PARAMS ((void));
/* Name of temporary file.
mktemp requires 6 trailing X's. */
--- 30,36 ----
#endif
#include "libiberty.h"
! extern char *choose_tmpdir (void);
/* Name of temporary file.
mktemp requires 6 trailing X's. */
*************** not recommended.
*** 54,60 ****
*/
char *
! choose_temp_base ()
{
const char *base = choose_tmpdir ();
char *temp_filename;
--- 54,60 ----
*/
char *
! choose_temp_base (void)
{
const char *base = choose_tmpdir ();
char *temp_filename;
Index: libiberty/clock.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/clock.c,v
retrieving revision 1.7
diff -p -r1.7 clock.c
*** libiberty/clock.c 7 Oct 2001 21:53:31 -0000 1.7
--- libiberty/clock.c 26 Mar 2005 18:32:04 -0000
*************** number of seconds used.
*** 67,73 ****
/* FIXME: should be able to declare as clock_t. */
long
! clock ()
{
#ifdef HAVE_GETRUSAGE
struct rusage rusage;
--- 67,73 ----
/* FIXME: should be able to declare as clock_t. */
long
! clock (void)
{
#ifdef HAVE_GETRUSAGE
struct rusage rusage;
Index: libiberty/concat.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/concat.c,v
retrieving revision 1.12
diff -p -r1.12 concat.c
*** libiberty/concat.c 17 Oct 2001 21:15:40 -0000 1.12
--- libiberty/concat.c 26 Mar 2005 18:32:04 -0000
*************** NOTES
*** 51,61 ****
#include "libiberty.h"
#include <sys/types.h> /* size_t */
- #ifdef ANSI_PROTOTYPES
#include <stdarg.h>
- #else
- #include <varargs.h>
- #endif
# if HAVE_STRING_H
# include <string.h>
--- 51,57 ----
*************** NOTES
*** 69,79 ****
#include <stdlib.h>
#endif
! static inline unsigned long vconcat_length PARAMS ((const char *, va_list));
static inline unsigned long
! vconcat_length (first, args)
! const char *first;
! va_list args;
{
unsigned long length = 0;
const char *arg;
--- 65,73 ----
#include <stdlib.h>
#endif
! static inline unsigned long vconcat_length (const char *, va_list);
static inline unsigned long
! vconcat_length (const char *first, va_list args)
{
unsigned long length = 0;
const char *arg;
*************** vconcat_length (first, args)
*** 84,95 ****
return length;
}
- static inline char *vconcat_copy PARAMS ((char *, const char *, va_list));
static inline char *
! vconcat_copy (dst, first, args)
! char *dst;
! const char *first;
! va_list args;
{
char *end = dst;
const char *arg;
--- 78,85 ----
return length;
}
static inline char *
! vconcat_copy (char *dst, const char *first, va_list args)
{
char *end = dst;
const char *arg;
*************** vconcat_copy (dst, first, args)
*** 108,114 ****
/* @undocumented concat_length */
unsigned long
! concat_length VPARAMS ((const char *first, ...))
{
unsigned long length;
--- 98,104 ----
/* @undocumented concat_length */
unsigned long
! concat_length (const char *first, ...)
{
unsigned long length;
*************** concat_length VPARAMS ((const char *firs
*** 123,129 ****
/* @undocumented concat_copy */
char *
! concat_copy VPARAMS ((char *dst, const char *first, ...))
{
char *save_dst;
--- 113,119 ----
/* @undocumented concat_copy */
char *
! concat_copy (char *dst, const char *first, ...)
{
char *save_dst;
*************** char *libiberty_concat_ptr;
*** 142,148 ****
/* @undocumented concat_copy2 */
char *
! concat_copy2 VPARAMS ((const char *first, ...))
{
VA_OPEN (args, first);
VA_FIXEDARG (args, const char *, first);
--- 132,138 ----
/* @undocumented concat_copy2 */
char *
! concat_copy2 (const char *first, ...)
{
VA_OPEN (args, first);
VA_FIXEDARG (args, const char *, first);
*************** concat_copy2 VPARAMS ((const char *first
*** 153,159 ****
}
char *
! concat VPARAMS ((const char *first, ...))
{
char *newstr;
--- 143,149 ----
}
char *
! concat (const char *first, ...)
{
char *newstr;
*************** loop:
*** 190,196 ****
*/
char *
! reconcat VPARAMS ((char *optr, const char *first, ...))
{
char *newstr;
--- 180,186 ----
*/
char *
! reconcat (char *optr, const char *first, ...)
{
char *newstr;
*************** reconcat VPARAMS ((char *optr, const cha
*** 221,227 ****
#include <stdio.h>
int
! main ()
{
printf ("\"\" = \"%s\"\n", concat (NULLP));
printf ("\"a\" = \"%s\"\n", concat ("a", NULLP));
--- 211,217 ----
#include <stdio.h>
int
! main (void)
{
printf ("\"\" = \"%s\"\n", concat (NULLP));
printf ("\"a\" = \"%s\"\n", concat ("a", NULLP));
Index: libiberty/copysign.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/copysign.c,v
retrieving revision 1.4
diff -p -r1.4 copysign.c
*** libiberty/copysign.c 15 Apr 2003 03:35:47 -0000 1.4
--- libiberty/copysign.c 26 Mar 2005 18:32:04 -0000
*************** typedef union
*** 132,139 ****
#if defined(__IEEE_BIG_ENDIAN) || defined(__IEEE_LITTLE_ENDIAN)
double
! copysign (x, y)
! double x, y;
{
__ieee_double_shape_type a,b;
b.value = y;
--- 132,138 ----
#if defined(__IEEE_BIG_ENDIAN) || defined(__IEEE_LITTLE_ENDIAN)
double
! copysign (double x, double y)
{
__ieee_double_shape_type a,b;
b.value = y;
*************** copysign (x, y)
*** 145,152 ****
#else
double
! copysign (x, y)
! double x, y;
{
if ((x < 0 && y > 0) || (x > 0 && y < 0))
return -x;
--- 144,150 ----
#else
double
! copysign (double x, double y)
{
if ((x < 0 && y > 0) || (x > 0 && y < 0))
return -x;
Index: libiberty/cp-demangle.c
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/cp-demangle.c,v
retrieving revision 1.76
diff -p -r1.76 cp-demangle.c
*** libiberty/cp-demangle.c 13 Feb 2005 06:58:20 -0000 1.76
--- libiberty/cp-demangle.c 26 Mar 2005 18:32:06 -0000
***************
*** 109,147 ****
#define CP_STATIC_IF_GLIBCPP_V3 static
#define cplus_demangle_fill_name d_fill_name
! static int
! d_fill_name PARAMS ((struct demangle_component *, const char *, int));
#define cplus_demangle_fill_extended_operator d_fill_extended_operator
static int
! d_fill_extended_operator PARAMS ((struct demangle_component *, int,
! struct demangle_component *));
#define cplus_demangle_fill_ctor d_fill_ctor
static int
! d_fill_ctor PARAMS ((struct demangle_component *, enum gnu_v3_ctor_kinds,
! struct demangle_component *));
#define cplus_demangle_fill_dtor d_fill_dtor
static int
! d_fill_dtor PARAMS ((struct demangle_component *, enum gnu_v3_dtor_kinds,
! struct demangle_component *));
#define cplus_demangle_mangled_name d_mangled_name
! static struct demangle_component *
! d_mangled_name PARAMS ((struct d_info *, int));
#define cplus_demangle_type d_type
! static struct demangle_component *
! d_type PARAMS ((struct d_info *));
#define cplus_demangle_print d_print
! static char *
! d_print PARAMS ((int, const struct demangle_component *, int, size_t *));
#define cplus_demangle_init_info d_init_info
! static void
! d_init_info PARAMS ((const char *, int, size_t, struct d_info *));
#else /* ! defined(IN_GLIBCPP_V3) */
#define CP_STATIC_IF_GLIBCPP_V3
--- 109,142 ----
#define CP_STATIC_IF_GLIBCPP_V3 static
#define cplus_demangle_fill_name d_fill_name
! static int d_fill_name (struct demangle_component *, const char *, int);
#define cplus_demangle_fill_extended_operator d_fill_extended_operator
static int
! d_fill_extended_operator (struct demangle_component *, int,
! struct demangle_component *);
#define cplus_demangle_fill_ctor d_fill_ctor
static int
! d_fill_ctor (struct demangle_component *, enum gnu_v3_ctor_kinds,
! struct demangle_component *);
#define cplus_demangle_fill_dtor d_fill_dtor
static int
! d_fill_dtor (struct demangle_component *, enum gnu_v3_dtor_kinds,
! struct demangle_component *);
#define cplus_demangle_mangled_name d_mangled_name
! static struct demangle_component *d_mangled_name (struct d_info *, int);
#define cplus_demangle_type d_type
! static struct demangle_component *d_type (struct d_info *);
#define cplus_demangle_print d_print
! static char *d_print (int, const struct demangle_component *, int, size_t *);
#define cplus_demangle_init_info d_init_info
! static void d_init_info (const char *, int, size_t, struct d_info *);
#else /* ! defined(IN_GLIBCPP_V3) */
#define CP_STATIC_IF_GLIBCPP_V3
*************** struct d_print_info
*** 286,472 ****
((dpi)->buf == NULL || (dpi)->len == 0 ? '\0' : (dpi)->buf[(dpi)->len - 1])
#ifdef CP_DEMANGLE_DEBUG
! static void
! d_dump PARAMS ((struct demangle_component *, int));
#endif
static struct demangle_component *
! d_make_empty PARAMS ((struct d_info *));
static struct demangle_component *
! d_make_comp PARAMS ((struct d_info *, enum demangle_component_type,
! struct demangle_component *,
! struct demangle_component *));
static struct demangle_component *
! d_make_name PARAMS ((struct d_info *, const char *, int));
static struct demangle_component *
! d_make_builtin_type PARAMS ((struct d_info *,
! const struct demangle_builtin_type_info *));
static struct demangle_component *
! d_make_operator PARAMS ((struct d_info *,
! const struct demangle_operator_info *));
static struct demangle_component *
! d_make_extended_operator PARAMS ((struct d_info *, int,
! struct demangle_component *));
static struct demangle_component *
! d_make_ctor PARAMS ((struct d_info *, enum gnu_v3_ctor_kinds,
! struct demangle_component *));
static struct demangle_component *
! d_make_dtor PARAMS ((struct d_info *, enum gnu_v3_dtor_kinds,
! struct demangle_component *));
static struct demangle_component *
! d_make_template_param PARAMS ((struct d_info *, long));
static struct demangle_component *
! d_make_sub PARAMS ((struct d_info *, const char *, int));
static int
! has_return_type PARAMS ((struct demangle_component *));
static int
! is_ctor_dtor_or_conversion PARAMS ((struct demangle_component *));
! static struct demangle_component *
! d_encoding PARAMS ((struct d_info *, int));
! static struct demangle_component *
! d_name PARAMS ((struct d_info *));
! static struct demangle_component *
! d_nested_name PARAMS ((struct d_info *));
! static struct demangle_component *
! d_prefix PARAMS ((struct d_info *));
! static struct demangle_component *
! d_unqualified_name PARAMS ((struct d_info *));
! static struct demangle_component *
! d_source_name PARAMS ((struct d_info *));
! static long
! d_number PARAMS ((struct d_info *));
! static struct demangle_component *
! d_identifier PARAMS ((struct d_info *, int));
! static struct demangle_component *
! d_operator_name PARAMS ((struct d_info *));
! static struct demangle_component *
! d_special_name PARAMS ((struct d_info *));
! static int
! d_call_offset PARAMS ((struct d_info *, int));
! static struct demangle_component *
! d_ctor_dtor_name PARAMS ((struct d_info *));
static struct demangle_component **
! d_cv_qualifiers PARAMS ((struct d_info *, struct demangle_component **, int));
static struct demangle_component *
! d_function_type PARAMS ((struct d_info *));
static struct demangle_component *
! d_bare_function_type PARAMS ((struct d_info *, int));
static struct demangle_component *
! d_class_enum_type PARAMS ((struct d_info *));
! static struct demangle_component *
! d_array_type PARAMS ((struct d_info *));
static struct demangle_component *
! d_pointer_to_member_type PARAMS ((struct d_info *));
static struct demangle_component *
! d_template_param PARAMS ((struct d_info *));
! static struct demangle_component *
! d_template_args PARAMS ((struct d_info *));
static struct demangle_component *
! d_template_arg PARAMS ((struct d_info *));
! static struct demangle_component *
! d_expression PARAMS ((struct d_info *));
! static struct demangle_component *
! d_expr_primary PARAMS ((struct d_info *));
! static struct demangle_component *
! d_local_name PARAMS ((struct d_info *));
! static int
! d_discriminator PARAMS ((struct d_info *));
static int
! d_add_substitution PARAMS ((struct d_info *, struct demangle_component *));
! static struct demangle_component *
! d_substitution PARAMS ((struct d_info *, int));
! static void
! d_print_resize PARAMS ((struct d_print_info *, size_t));
! static void
! d_print_append_char PARAMS ((struct d_print_info *, int));
static void
! d_print_append_buffer PARAMS ((struct d_print_info *, const char *, size_t));
! static void
! d_print_error PARAMS ((struct d_print_info *));
static void
! d_print_comp PARAMS ((struct d_print_info *,
! const struct demangle_component *));
static void
! d_print_java_identifier PARAMS ((struct d_print_info *, const char *, int));
static void
! d_print_mod_list PARAMS ((struct d_print_info *, struct d_print_mod *, int));
static void
! d_print_mod PARAMS ((struct d_print_info *,
! const struct demangle_component *));
static void
! d_print_function_type PARAMS ((struct d_print_info *,
! const struct demangle_component *,
! struct d_print_mod *));
static void
! d_print_array_type PARAMS ((struct d_print_info *,
! const struct demangle_component *,
! struct d_print_mod *));
static void
! d_print_expr_op PARAMS ((struct d_print_info *,
! const struct demangle_component *));
static void
! d_print_cast PARAMS ((struct d_print_info *,
! const struct demangle_component *));
! static char *
! d_demangle PARAMS ((const char *, int, size_t *));
#ifdef CP_DEMANGLE_DEBUG
static void
! d_dump (dc, indent)
! struct demangle_component *dc;
! int indent;
{
int i;
--- 281,437 ----
((dpi)->buf == NULL || (dpi)->len == 0 ? '\0' : (dpi)->buf[(dpi)->len - 1])
#ifdef CP_DEMANGLE_DEBUG
! static void d_dump (struct demangle_component *, int);
#endif
static struct demangle_component *
! d_make_empty (struct d_info *);
static struct demangle_component *
! d_make_comp (struct d_info *, enum demangle_component_type,
! struct demangle_component *,
! struct demangle_component *);
static struct demangle_component *
! d_make_name (struct d_info *, const char *, int);
static struct demangle_component *
! d_make_builtin_type (struct d_info *,
! const struct demangle_builtin_type_info *);
static struct demangle_component *
! d_make_operator (struct d_info *,
! const struct demangle_operator_info *);
static struct demangle_component *
! d_make_extended_operator (struct d_info *, int,
! struct demangle_component *);
static struct demangle_component *
! d_make_ctor (struct d_info *, enum gnu_v3_ctor_kinds,
! struct demangle_component *);
static struct demangle_component *
! d_make_dtor (struct d_info *, enum gnu_v3_dtor_kinds,
! struct demangle_component *);
static struct demangle_component *
! d_make_template_param (struct d_info *, long);
static struct demangle_component *
! d_make_sub (struct d_info *, const char *, int);
static int
! has_return_type (struct demangle_component *);
static int
! is_ctor_dtor_or_conversion (struct demangle_component *);
! static struct demangle_component *d_encoding (struct d_info *, int);
! static struct demangle_component *d_name (struct d_info *);
! static struct demangle_component *d_nested_name (struct d_info *);
! static struct demangle_component *d_prefix (struct d_info *);
! static struct demangle_component *d_unqualified_name (struct d_info *);
! static struct demangle_component *d_source_name (struct d_info *);
! static long d_number (struct d_info *);
! static struct demangle_component *d_identifier (struct d_info *, int);
! static struct demangle_component *d_operator_name (struct d_info *);
! static struct demangle_component *d_special_name (struct d_info *);
! static int d_call_offset (struct d_info *, int);
! static struct demangle_component *d_ctor_dtor_name (struct d_info *);
static struct demangle_component **
! d_cv_qualifiers (struct d_info *, struct demangle_component **, int);
static struct demangle_component *
! d_function_type (struct d_info *);
static struct demangle_component *
! d_bare_function_type (struct d_info *, int);
static struct demangle_component *
! d_class_enum_type (struct d_info *);
! static struct demangle_component *d_array_type (struct d_info *);
static struct demangle_component *
! d_pointer_to_member_type (struct d_info *);
static struct demangle_component *
! d_template_param (struct d_info *);
! static struct demangle_component *d_template_args (struct d_info *);
static struct demangle_component *
! d_template_arg (struct d_info *);
! static struct demangle_component *d_expression (struct d_info *);
! static struct demangle_component *d_expr_primary (struct d_info *);
! static struct demangle_component *d_local_name (struct d_info *);
! static int d_discriminator (struct d_info *);
static int
! d_add_substitution (struct d_info *, struct demangle_component *);
! static struct demangle_component *d_substitution (struct d_info *, int);
! static void d_print_resize (struct d_print_info *, size_t);
! static void d_print_append_char (struct d_print_info *, int);
static void
! d_print_append_buffer (struct d_print_info *, const char *, size_t);
! static void d_print_error (struct d_print_info *);
static void
! d_print_comp (struct d_print_info *, const struct demangle_component *);
static void
! d_print_java_identifier (struct d_print_info *, const char *, int);
static void
! d_print_mod_list (struct d_print_info *, struct d_print_mod *, int);
static void
! d_print_mod (struct d_print_info *, const struct demangle_component *);
static void
! d_print_function_type (struct d_print_info *,
! const struct demangle_component *,
! struct d_print_mod *);
static void
! d_print_array_type (struct d_print_info *,
! const struct demangle_component *,
! struct d_print_mod *);
static void
! d_print_expr_op (struct d_print_info *, const struct demangle_component *);
static void
! d_print_cast (struct d_print_info *, const struct demangle_component *);
! static char *d_demangle (const char *, int, size_t *);
#ifdef CP_DEMANGLE_DEBUG
static void
! d_dump (struct demangle_component *dc, int indent)
{
int i;
*************** d_dump (dc, indent)
*** 645,654 ****
CP_STATIC_IF_GLIBCPP_V3
int
! cplus_demangle_fill_name (p, s, len)
! struct demangle_component *p;
! const char *s;
! int len;
{
if (p == NULL || s == NULL || len == 0)
return 0;
--- 610,616 ----
CP_STATIC_IF_GLIBCPP_V3
int
! cplus_demangle_fill_name (struct demangle_component *p, const char *s, int len)
{
if (p == NULL || s == NULL || len == 0)
return 0;
*************** cplus_demangle_fill_name (p, s, len)
*** 662,671 ****
CP_STATIC_IF_GLIBCPP_V3
int
! cplus_demangle_fill_extended_operator (p, args, name)
! struct demangle_component *p;
! int args;
! struct demangle_component *name;
{
if (p == NULL || args < 0 || name == NULL)
return 0;
--- 624,631 ----
CP_STATIC_IF_GLIBCPP_V3
int
! cplus_demangle_fill_extended_operator (struct demangle_component *p, int args,
! struct demangle_component *name)
{
if (p == NULL || args < 0 || name == NULL)
return 0;
*************** cplus_demangle_fill_extended_operator (p
*** 679,688 ****
CP_STATIC_IF_GLIBCPP_V3
int
! cplus_demangle_fill_ctor (p, kind, name)
! struct demangle_component *p;
! enum gnu_v3_ctor_kinds kind;
! struct demangle_component *name;
{
if (p == NULL
|| name == NULL
--- 639,647 ----
CP_STATIC_IF_GLIBCPP_V3
int
! cplus_demangle_fill_ctor (struct demangle_component *p,
! enum gnu_v3_ctor_kinds kind,
! struct demangle_component *name)
{
if (p == NULL
|| name == NULL
*************** cplus_demangle_fill_ctor (p, kind, name)
*** 699,708 ****
CP_STATIC_IF_GLIBCPP_V3
int
! cplus_demangle_fill_dtor (p, kind, name)
! struct demangle_component *p;
! enum gnu_v3_dtor_kinds kind;
! struct demangle_component *name;
{
if (p == NULL
|| name == NULL
--- 658,666 ----
CP_STATIC_IF_GLIBCPP_V3
int
! cplus_demangle_fill_dtor (struct demangle_component *p,
! enum gnu_v3_dtor_kinds kind,
! struct demangle_component *name)
{
if (p == NULL
|| name == NULL
*************** cplus_demangle_fill_dtor (p, kind, name)
*** 718,725 ****
/* Add a new component. */
static struct demangle_component *
! d_make_empty (di)
! struct d_info *di;
{
struct demangle_component *p;
--- 676,682 ----
/* Add a new component. */
static struct demangle_component *
! d_make_empty (struct d_info *di)
{
struct demangle_component *p;
*************** d_make_empty (di)
*** 733,743 ****
/* Add a new generic component. */
static struct demangle_component *
! d_make_comp (di, type, left, right)
! struct d_info *di;
! enum demangle_component_type type;
! struct demangle_component *left;
! struct demangle_component *right;
{
struct demangle_component *p;
--- 690,698 ----
/* Add a new generic component. */
static struct demangle_component *
! d_make_comp (struct d_info *di, enum demangle_component_type type,
! struct demangle_component *left,
! struct demangle_component *right)
{
struct demangle_component *p;
*************** d_make_comp (di, type, left, right)
*** 826,835 ****
/* Add a new name component. */
static struct demangle_component *
! d_make_name (di, s, len)
! struct d_info *di;
! const char *s;
! int len;
{
struct demangle_component *p;
--- 781,787 ----
/* Add a new name component. */
static struct demangle_component *
! d_make_name (struct d_info *di, const char *s, int len)
{
struct demangle_component *p;
*************** d_make_name (di, s, len)
*** 842,850 ****
/* Add a new builtin type component. */
static struct demangle_component *
! d_make_builtin_type (di, type)
! struct d_info *di;
! const struct demangle_builtin_type_info *type;
{
struct demangle_component *p;
--- 794,801 ----
/* Add a new builtin type component. */
static struct demangle_component *
! d_make_builtin_type (struct d_info *di,
! const struct demangle_builtin_type_info *type)
{
struct demangle_component *p;
*************** d_make_builtin_type (di, type)
*** 862,870 ****
/* Add a new operator component. */
static struct demangle_component *
! d_make_operator (di, op)
! struct d_info *di;
! const struct demangle_operator_info *op;
{
struct demangle_component *p;
--- 813,819 ----
/* Add a new operator component. */
static struct demangle_component *
! d_make_operator (struct d_info *di, const struct demangle_operator_info *op)
{
struct demangle_component *p;
*************** d_make_operator (di, op)
*** 880,889 ****
/* Add a new extended operator component. */
static struct demangle_component *
! d_make_extended_operator (di, args, name)
! struct d_info *di;
! int args;
! struct demangle_component *name;
{
struct demangle_component *p;
--- 829,836 ----
/* Add a new extended operator component. */
static struct demangle_component *
! d_make_extended_operator (struct d_info *di, int args,
! struct demangle_component *name)
{
struct demangle_component *p;
*************** d_make_extended_operator (di, args, name
*** 896,905 ****
/* Add a new constructor component. */
static struct demangle_component *
! d_make_ctor (di, kind, name)
! struct d_info *di;
! enum gnu_v3_ctor_kinds kind;
! struct demangle_component *name;
{
struct demangle_component *p;
--- 843,850 ----
/* Add a new constructor component. */
static struct demangle_component *
! d_make_ctor (struct d_info *di, enum gnu_v3_ctor_kinds kind,
! struct demangle_component *name)
{
struct demangle_component *p;
*************** d_make_ctor (di, kind, name)
*** 912,921 ****
/* Add a new destructor component. */
static struct demangle_component *
! d_make_dtor (di, kind, name)
! struct d_info *di;
! enum gnu_v3_dtor_kinds kind;
! struct demangle_component *name;
{
struct demangle_component *p;
--- 857,864 ----
/* Add a new destructor component. */
static struct demangle_component *
! d_make_dtor (struct d_info *di, enum gnu_v3_dtor_kinds kind,
! struct demangle_component *name)
{
struct demangle_component *p;
*************** d_make_dtor (di, kind, name)
*** 928,936 ****
/* Add a new template parameter. */
static struct demangle_component *
! d_make_template_param (di, i)
! struct d_info *di;
! long i;
{
struct demangle_component *p;
--- 871,877 ----
/* Add a new template parameter. */
static struct demangle_component *
! d_make_template_param (struct d_info *di, long i)
{
struct demangle_component *p;
*************** d_make_template_param (di, i)
*** 946,955 ****
/* Add a new standard substitution component. */
static struct demangle_component *
! d_make_sub (di, name, len)
! struct d_info *di;
! const char *name;
! int len;
{
struct demangle_component *p;
--- 887,893 ----
/* Add a new standard substitution component. */
static struct demangle_component *
! d_make_sub (struct d_info *di, const char *name, int len)
{
struct demangle_component *p;
*************** d_make_sub (di, name, len)
*** 969,977 ****
CP_STATIC_IF_GLIBCPP_V3
struct demangle_component *
! cplus_demangle_mangled_name (di, top_level)
! struct d_info *di;
! int top_level;
{
if (d_next_char (di) != '_')
return NULL;
--- 907,913 ----
CP_STATIC_IF_GLIBCPP_V3
struct demangle_component *
! cplus_demangle_mangled_name (struct d_info *di, int top_level)
{
if (d_next_char (di) != '_')
return NULL;
*************** cplus_demangle_mangled_name (di, top_lev
*** 990,997 ****
return types. */
static int
! has_return_type (dc)
! struct demangle_component *dc;
{
if (dc == NULL)
return 0;
--- 926,932 ----
return types. */
static int
! has_return_type (struct demangle_component *dc)
{
if (dc == NULL)
return 0;
*************** has_return_type (dc)
*** 1012,1019 ****
conversion operator. */
static int
! is_ctor_dtor_or_conversion (dc)
! struct demangle_component *dc;
{
if (dc == NULL)
return 0;
--- 947,953 ----
conversion operator. */
static int
! is_ctor_dtor_or_conversion (struct demangle_component *dc)
{
if (dc == NULL)
return 0;
*************** is_ctor_dtor_or_conversion (dc)
*** 1041,1049 ****
we would not correctly demangle names in local scopes. */
static struct demangle_component *
! d_encoding (di, top_level)
! struct d_info *di;
! int top_level;
{
char peek = d_peek_char (di);
--- 975,981 ----
we would not correctly demangle names in local scopes. */
static struct demangle_component *
! d_encoding (struct d_info *di, int top_level)
{
char peek = d_peek_char (di);
*************** d_encoding (di, top_level)
*** 1105,1112 ****
*/
static struct demangle_component *
! d_name (di)
! struct d_info *di;
{
char peek = d_peek_char (di);
struct demangle_component *dc;
--- 1037,1043 ----
*/
static struct demangle_component *
! d_name (struct d_info *di)
{
char peek = d_peek_char (di);
struct demangle_component *dc;
*************** d_name (di)
*** 1183,1190 ****
*/
static struct demangle_component *
! d_nested_name (di)
! struct d_info *di;
{
struct demangle_component *ret;
struct demangle_component **pret;
--- 1114,1120 ----
*/
static struct demangle_component *
! d_nested_name (struct d_info *di)
{
struct demangle_component *ret;
struct demangle_component **pret;
*************** d_nested_name (di)
*** 1218,1225 ****
*/
static struct demangle_component *
! d_prefix (di)
! struct d_info *di;
{
struct demangle_component *ret = NULL;
--- 1148,1154 ----
*/
static struct demangle_component *
! d_prefix (struct d_info *di)
{
struct demangle_component *ret = NULL;
*************** d_prefix (di)
*** 1278,1285 ****
*/
static struct demangle_component *
! d_unqualified_name (di)
! struct d_info *di;
{
char peek;
--- 1207,1213 ----
*/
static struct demangle_component *
! d_unqualified_name (struct d_info *di)
{
char peek;
*************** d_unqualified_name (di)
*** 1304,1311 ****
/* <source-name> ::= <(positive length) number> <identifier> */
static struct demangle_component *
! d_source_name (di)
! struct d_info *di;
{
long len;
struct demangle_component *ret;
--- 1232,1238 ----
/* <source-name> ::= <(positive length) number> <identifier> */
static struct demangle_component *
! d_source_name (struct d_info *di)
{
long len;
struct demangle_component *ret;
*************** d_source_name (di)
*** 1321,1328 ****
/* number ::= [n] <(non-negative decimal integer)> */
static long
! d_number (di)
! struct d_info *di;
{
int negative;
char peek;
--- 1248,1254 ----
/* number ::= [n] <(non-negative decimal integer)> */
static long
! d_number (struct d_info *di)
{
int negative;
char peek;
*************** d_number (di)
*** 1355,1363 ****
/* identifier ::= <(unqualified source code identifier)> */
static struct demangle_component *
! d_identifier (di, len)
! struct d_info *di;
! int len;
{
const char *name;
--- 1281,1287 ----
/* identifier ::= <(unqualified source code identifier)> */
static struct demangle_component *
! d_identifier (struct d_info *di, int len)
{
const char *name;
*************** const struct demangle_operator_info cplu
*** 1460,1467 ****
};
static struct demangle_component *
! d_operator_name (di)
! struct d_info *di;
{
char c1;
char c2;
--- 1384,1390 ----
};
static struct demangle_component *
! d_operator_name (struct d_info *di)
{
char c1;
char c2;
*************** d_operator_name (di)
*** 1519,1526 ****
*/
static struct demangle_component *
! d_special_name (di)
! struct d_info *di;
{
char c;
--- 1442,1448 ----
*/
static struct demangle_component *
! d_special_name (struct d_info *di)
{
char c;
*************** d_special_name (di)
*** 1629,1637 ****
display it in verbose mode. */
static int
! d_call_offset (di, c)
! struct d_info *di;
! int c;
{
if (c == '\0')
c = d_next_char (di);
--- 1551,1557 ----
display it in verbose mode. */
static int
! d_call_offset (struct d_info *di, int c)
{
if (c == '\0')
c = d_next_char (di);
*************** d_call_offset (di, c)
*** 1663,1670 ****
*/
static struct demangle_component *
! d_ctor_dtor_name (di)
! struct d_info *di;
{
if (di->last_name != NULL)
{
--- 1583,1589 ----
*/
static struct demangle_component *
! d_ctor_dtor_name (struct d_info *di)
{
if (di->last_name != NULL)
{
*************** cplus_demangle_builtin_types[D_BUILTIN_T
*** 1777,1784 ****
CP_STATIC_IF_GLIBCPP_V3
struct demangle_component *
! cplus_demangle_type (di)
! struct d_info *di;
{
char peek;
struct demangle_component *ret;
--- 1696,1702 ----
CP_STATIC_IF_GLIBCPP_V3
struct demangle_component *
! cplus_demangle_type (struct d_info *di)
{
char peek;
struct demangle_component *ret;
*************** cplus_demangle_type (di)
*** 1947,1956 ****
/* <CV-qualifiers> ::= [r] [V] [K] */
static struct demangle_component **
! d_cv_qualifiers (di, pret, member_fn)
! struct d_info *di;
! struct demangle_component **pret;
! int member_fn;
{
char peek;
--- 1865,1872 ----
/* <CV-qualifiers> ::= [r] [V] [K] */
static struct demangle_component **
! d_cv_qualifiers (struct d_info *di,
! struct demangle_component **pret, int member_fn)
{
char peek;
*************** d_cv_qualifiers (di, pret, member_fn)
*** 1996,2003 ****
/* <function-type> ::= F [Y] <bare-function-type> E */
static struct demangle_component *
! d_function_type (di)
! struct d_info *di;
{
struct demangle_component *ret;
--- 1912,1918 ----
/* <function-type> ::= F [Y] <bare-function-type> E */
static struct demangle_component *
! d_function_type (struct d_info *di)
{
struct demangle_component *ret;
*************** d_function_type (di)
*** 2018,2026 ****
/* <bare-function-type> ::= <type>+ */
static struct demangle_component *
! d_bare_function_type (di, has_return_type)
! struct d_info *di;
! int has_return_type;
{
struct demangle_component *return_type;
struct demangle_component *tl;
--- 1933,1939 ----
/* <bare-function-type> ::= <type>+ */
static struct demangle_component *
! d_bare_function_type (struct d_info *di, int has_return_type)
{
struct demangle_component *return_type;
struct demangle_component *tl;
*************** d_bare_function_type (di, has_return_typ
*** 2075,2082 ****
/* <class-enum-type> ::= <name> */
static struct demangle_component *
! d_class_enum_type (di)
! struct d_info *di;
{
return d_name (di);
}
--- 1988,1994 ----
/* <class-enum-type> ::= <name> */
static struct demangle_component *
! d_class_enum_type (struct d_info *di)
{
return d_name (di);
}
*************** d_class_enum_type (di)
*** 2086,2093 ****
*/
static struct demangle_component *
! d_array_type (di)
! struct d_info *di;
{
char peek;
struct demangle_component *dim;
--- 1998,2004 ----
*/
static struct demangle_component *
! d_array_type (struct d_info *di)
{
char peek;
struct demangle_component *dim;
*************** d_array_type (di)
*** 2130,2137 ****
/* <pointer-to-member-type> ::= M <(class) type> <(member) type> */
static struct demangle_component *
! d_pointer_to_member_type (di)
! struct d_info *di;
{
struct demangle_component *cl;
struct demangle_component *mem;
--- 2041,2047 ----
/* <pointer-to-member-type> ::= M <(class) type> <(member) type> */
static struct demangle_component *
! d_pointer_to_member_type (struct d_info *di)
{
struct demangle_component *cl;
struct demangle_component *mem;
*************** d_pointer_to_member_type (di)
*** 2168,2175 ****
*/
static struct demangle_component *
! d_template_param (di)
! struct d_info *di;
{
long param;
--- 2078,2084 ----
*/
static struct demangle_component *
! d_template_param (struct d_info *di)
{
long param;
*************** d_template_param (di)
*** 2197,2204 ****
/* <template-args> ::= I <template-arg>+ E */
static struct demangle_component *
! d_template_args (di)
! struct d_info *di;
{
struct demangle_component *hold_last_name;
struct demangle_component *al;
--- 2106,2112 ----
/* <template-args> ::= I <template-arg>+ E */
static struct demangle_component *
! d_template_args (struct d_info *di)
{
struct demangle_component *hold_last_name;
struct demangle_component *al;
*************** d_template_args (di)
*** 2245,2252 ****
*/
static struct demangle_component *
! d_template_arg (di)
! struct d_info *di;
{
struct demangle_component *ret;
--- 2153,2159 ----
*/
static struct demangle_component *
! d_template_arg (struct d_info *di)
{
struct demangle_component *ret;
*************** d_template_arg (di)
*** 2278,2285 ****
*/
static struct demangle_component *
! d_expression (di)
! struct d_info *di;
{
char peek;
--- 2185,2191 ----
*/
static struct demangle_component *
! d_expression (struct d_info *di)
{
char peek;
*************** d_expression (di)
*** 2379,2386 ****
*/
static struct demangle_component *
! d_expr_primary (di)
! struct d_info *di;
{
struct demangle_component *ret;
--- 2285,2291 ----
*/
static struct demangle_component *
! d_expr_primary (struct d_info *di)
{
struct demangle_component *ret;
*************** d_expr_primary (di)
*** 2436,2443 ****
*/
static struct demangle_component *
! d_local_name (di)
! struct d_info *di;
{
struct demangle_component *function;
--- 2341,2347 ----
*/
static struct demangle_component *
! d_local_name (struct d_info *di)
{
struct demangle_component *function;
*************** d_local_name (di)
*** 2475,2482 ****
We should print it out in verbose mode. */
static int
! d_discriminator (di)
! struct d_info *di;
{
long discrim;
--- 2379,2385 ----
We should print it out in verbose mode. */
static int
! d_discriminator (struct d_info *di)
{
long discrim;
*************** d_discriminator (di)
*** 2492,2500 ****
/* Add a new substitution. */
static int
! d_add_substitution (di, dc)
! struct d_info *di;
! struct demangle_component *dc;
{
if (dc == NULL)
return 0;
--- 2395,2401 ----
/* Add a new substitution. */
static int
! d_add_substitution (struct d_info *di, struct demangle_component *dc)
{
if (dc == NULL)
return 0;
*************** static const struct d_standard_sub_info
*** 2550,2558 ****
};
static struct demangle_component *
! d_substitution (di, prefix)
! struct d_info *di;
! int prefix;
{
char c;
--- 2451,2457 ----
};
static struct demangle_component *
! d_substitution (struct d_info *di, int prefix)
{
char c;
*************** d_substitution (di, prefix)
*** 2639,2647 ****
/* Resize the print buffer. */
static void
! d_print_resize (dpi, add)
! struct d_print_info *dpi;
! size_t add;
{
size_t need;
--- 2538,2544 ----
/* Resize the print buffer. */
static void
! d_print_resize (struct d_print_info *dpi, size_t add)
{
size_t need;
*************** d_print_resize (dpi, add)
*** 2670,2678 ****
/* Append a character to the print buffer. */
static void
! d_print_append_char (dpi, c)
! struct d_print_info *dpi;
! int c;
{
if (dpi->buf != NULL)
{
--- 2567,2573 ----
/* Append a character to the print buffer. */
static void
! d_print_append_char (struct d_print_info *dpi, int c)
{
if (dpi->buf != NULL)
{
*************** d_print_append_char (dpi, c)
*** 2691,2700 ****
/* Append a buffer to the print buffer. */
static void
! d_print_append_buffer (dpi, s, l)
! struct d_print_info *dpi;
! const char *s;
! size_t l;
{
if (dpi->buf != NULL)
{
--- 2586,2592 ----
/* Append a buffer to the print buffer. */
static void
! d_print_append_buffer (struct d_print_info *dpi, const char *s, size_t l)
{
if (dpi->buf != NULL)
{
*************** d_print_append_buffer (dpi, s, l)
*** 2713,2720 ****
/* Indicate that an error occurred during printing. */
static void
! d_print_error (dpi)
! struct d_print_info *dpi;
{
free (dpi->buf);
dpi->buf = NULL;
--- 2605,2611 ----
/* Indicate that an error occurred during printing. */
static void
! d_print_error (struct d_print_info *dpi)
{
free (dpi->buf);
dpi->buf = NULL;
*************** d_print_error (dpi)
*** 2730,2740 ****
CP_STATIC_IF_GLIBCPP_V3
char *
! cplus_demangle_print (options, dc, estimate, palc)
! int options;
! const struct demangle_component *dc;
! int estimate;
! size_t *palc;
{
struct d_print_info dpi;
--- 2621,2628 ----
CP_STATIC_IF_GLIBCPP_V3
char *
! cplus_demangle_print (int options, const struct demangle_component *dc,
! int estimate, size_t *palc)
{
struct d_print_info dpi;
*************** cplus_demangle_print (options, dc, estim
*** 2769,2777 ****
/* Subroutine to handle components. */
static void
! d_print_comp (dpi, dc)
! struct d_print_info *dpi;
! const struct demangle_component *dc;
{
if (dc == NULL)
{
--- 2657,2664 ----
/* Subroutine to handle components. */
static void
! d_print_comp (struct d_print_info *dpi,
! const struct demangle_component *dc)
{
if (dc == NULL)
{
*************** d_print_comp (dpi, dc)
*** 3442,3451 ****
__U<hex-char>+_. */
static void
! d_print_java_identifier (dpi, name, len)
! struct d_print_info *dpi;
! const char *name;
! int len;
{
const char *p;
const char *end;
--- 3329,3335 ----
__U<hex-char>+_. */
static void
! d_print_java_identifier (struct d_print_info *dpi, const char *name, int len)
{
const char *p;
const char *end;
*************** d_print_java_identifier (dpi, name, len)
*** 3495,3504 ****
qualifiers on this after printing a function. */
static void
! d_print_mod_list (dpi, mods, suffix)
! struct d_print_info *dpi;
! struct d_print_mod *mods;
! int suffix;
{
struct d_print_template *hold_dpt;
--- 3379,3386 ----
qualifiers on this after printing a function. */
static void
! d_print_mod_list (struct d_print_info *dpi,
! struct d_print_mod *mods, int suffix)
{
struct d_print_template *hold_dpt;
*************** d_print_mod_list (dpi, mods, suffix)
*** 3574,3582 ****
/* Print a modifier. */
static void
! d_print_mod (dpi, mod)
! struct d_print_info *dpi;
! const struct demangle_component *mod;
{
switch (mod->type)
{
--- 3456,3463 ----
/* Print a modifier. */
static void
! d_print_mod (struct d_print_info *dpi,
! const struct demangle_component *mod)
{
switch (mod->type)
{
*************** d_print_mod (dpi, mod)
*** 3630,3639 ****
/* Print a function type, except for the return type. */
static void
! d_print_function_type (dpi, dc, mods)
! struct d_print_info *dpi;
! const struct demangle_component *dc;
! struct d_print_mod *mods;
{
int need_paren;
int saw_mod;
--- 3511,3519 ----
/* Print a function type, except for the return type. */
static void
! d_print_function_type (struct d_print_info *dpi,
! const struct demangle_component *dc,
! struct d_print_mod *mods)
{
int need_paren;
int saw_mod;
*************** d_print_function_type (dpi, dc, mods)
*** 3716,3725 ****
/* Print an array type, except for the element type. */
static void
! d_print_array_type (dpi, dc, mods)
! struct d_print_info *dpi;
! const struct demangle_component *dc;
! struct d_print_mod *mods;
{
int need_space;
--- 3596,3604 ----
/* Print an array type, except for the element type. */
static void
! d_print_array_type (struct d_print_info *dpi,
! const struct demangle_component *dc,
! struct d_print_mod *mods)
{
int need_space;
*************** d_print_array_type (dpi, dc, mods)
*** 3771,3779 ****
/* Print an operator in an expression. */
static void
! d_print_expr_op (dpi, dc)
! struct d_print_info *dpi;
! const struct demangle_component *dc;
{
if (dc->type == DEMANGLE_COMPONENT_OPERATOR)
d_append_buffer (dpi, dc->u.s_operator.op->name,
--- 3650,3657 ----
/* Print an operator in an expression. */
static void
! d_print_expr_op (struct d_print_info *dpi,
! const struct demangle_component *dc)
{
if (dc->type == DEMANGLE_COMPONENT_OPERATOR)
d_append_buffer (dpi, dc->u.s_operator.op->name,
*************** d_print_expr_op (dpi, dc)
*** 3785,3793 ****
/* Print a cast. */
static void
! d_print_cast (dpi, dc)
! struct d_print_info *dpi;
! const struct demangle_component *dc;
{
if (d_left (dc)->type != DEMANGLE_COMPONENT_TEMPLATE)
d_print_comp (dpi, d_left (dc));
--- 3663,3670 ----
/* Print a cast. */
static void
! d_print_cast (struct d_print_info *dpi,
! const struct demangle_component *dc)
{
if (d_left (dc)->type != DEMANGLE_COMPONENT_TEMPLATE)
d_print_comp (dpi, d_left (dc));
*************** d_print_cast (dpi, dc)
*** 3831,3841 ****
CP_STATIC_IF_GLIBCPP_V3
void
! cplus_demangle_init_info (mangled, options, len, di)
! const char *mangled;
! int options;
! size_t len;
! struct d_info *di;
{
di->s = mangled;
di->send = mangled + len;
--- 3708,3715 ----
CP_STATIC_IF_GLIBCPP_V3
void
! cplus_demangle_init_info (const char *mangled, int options, size_t len,
! struct d_info *di)
{
di->s = mangled;
di->send = mangled + len;
*************** cplus_demangle_init_info (mangled, optio
*** 3868,3877 ****
a memory allocation failure. On failure, this returns NULL. */
static char *
! d_demangle (mangled, options, palc)
! const char* mangled;
! int options;
! size_t *palc;
{
size_t len;
int type;
--- 3742,3748 ----
a memory allocation failure. On failure, this returns NULL. */
static char *
! d_demangle (const char* mangled, int options, size_t *palc)
{
size_t len;
int type;
*************** d_demangle (mangled, options, palc)
*** 3995,4001 ****
#if defined(IN_LIBGCC2) || defined(IN_GLIBCPP_V3)
! extern char *__cxa_demangle PARAMS ((const char *, char *, size_t *, int *));
/* ia64 ABI-mandated entry point in the C++ runtime library for
performing demangling. MANGLED_NAME is a NUL-terminated character
--- 3866,3872 ----
#if defined(IN_LIBGCC2) || defined(IN_GLIBCPP_V3)
! extern char *__cxa_demangle (const char *, char *, size_t *, int *);
/* ia64 ABI-mandated entry point in the C++ runtime library for
performing demangling. MANGLED_NAME is a NUL-terminated character
*************** extern char *__cxa_demangle PARAMS ((con
*** 4024,4034 ****
GNU extensions. */
char *
! __cxa_demangle (mangled_name, output_buffer, length, status)
! const char *mangled_name;
! char *output_buffer;
! size_t *length;
! int *status;
{
char *demangled;
size_t alc;
--- 3895,3902 ----
GNU extensions. */
char *
! __cxa_demangle (const char *mangled_name, char *output_buffer,
! size_t *length, int *status)
{
char *demangled;
size_t alc;
*************** __cxa_demangle (mangled_name, output_buf
*** 4094,4102 ****
demangled name. Otherwise, return NULL. */
char *
! cplus_demangle_v3 (mangled, options)
! const char* mangled;
! int options;
{
size_t alc;
--- 3962,3968 ----
demangled name. Otherwise, return NULL. */
char *
! cplus_demangle_v3 (const char* mangled, int options)
{
size_t alc;
*************** cplus_demangle_v3 (mangled, options)
*** 4111,4118 ****
of JArray<TYPE> with TYPE[]. */
char *
! java_demangle_v3 (mangled)
! const char* mangled;
{
size_t alc;
char *demangled;
--- 3977,3983 ----
of JArray<TYPE> with TYPE[]. */
char *
! java_demangle_v3 (const char* mangled)
{
size_t alc;
char *demangled;
*************** java_demangle_v3 (mangled)
*** 4162,4171 ****
*DTOR_KIND appropriately. */
static int
! is_ctor_or_dtor (mangled, ctor_kind, dtor_kind)
! const char *mangled;
! enum gnu_v3_ctor_kinds *ctor_kind;
! enum gnu_v3_dtor_kinds *dtor_kind;
{
struct d_info di;
struct demangle_component *dc;
--- 4027,4035 ----
*DTOR_KIND appropriately. */
static int
! is_ctor_or_dtor (const char *mangled,
! enum gnu_v3_ctor_kinds *ctor_kind,
! enum gnu_v3_ctor_kinds *dtor_kind)
{
struct d_info di;
struct demangle_component *dc;
*************** is_ctor_or_dtor (mangled, ctor_kind, dto
*** 4248,4255 ****
name. A non-zero return indicates the type of constructor. */
enum gnu_v3_ctor_kinds
! is_gnu_v3_mangled_ctor (name)
! const char *name;
{
enum gnu_v3_ctor_kinds ctor_kind;
enum gnu_v3_dtor_kinds dtor_kind;
--- 4112,4118 ----
name. A non-zero return indicates the type of constructor. */
enum gnu_v3_ctor_kinds
! is_gnu_v3_mangled_ctor (const char *name)
{
enum gnu_v3_ctor_kinds ctor_kind;
enum gnu_v3_dtor_kinds dtor_kind;
*************** is_gnu_v3_mangled_ctor (name)
*** 4264,4271 ****
name. A non-zero return indicates the type of destructor. */
enum gnu_v3_dtor_kinds
! is_gnu_v3_mangled_dtor (name)
! const char *name;
{
enum gnu_v3_ctor_kinds ctor_kind;
enum gnu_v3_dtor_kinds dtor_kind;
--- 4127,4133 ----
name. A non-zero return indicates the type of destructor. */
enum gnu_v3_dtor_kinds
! is_gnu_v3_mangled_dtor (const char *name)
{
enum gnu_v3_ctor_kinds ctor_kind;
enum gnu_v3_dtor_kinds dtor_kind;
*************** const char* program_name;
*** 4299,4307 ****
/* Prints usage summary to FP and then exits with EXIT_VALUE. */
static void
! print_usage (fp, exit_value)
! FILE* fp;
! int exit_value;
{
fprintf (fp, "Usage: %s [options] [names ...]\n", program_name);
fprintf (fp, "Options:\n");
--- 4161,4167 ----
/* Prints usage summary to FP and then exits with EXIT_VALUE. */
static void
! print_usage (FILE* fp, int exit_value)
{
fprintf (fp, "Usage: %s [options] [names ...]\n", program_name);
fprintf (fp, "Options:\n");
*************** static const struct option long_options[
*** 4328,4336 ****
with their demangled equivalents. */
int
! main (argc, argv)
! int argc;
! char *argv[];
{
int i;
int opt_char;
--- 4188,4194 ----
with their demangled equivalents. */
int
! main (int argc, char *argv[])
{
int i;
int opt_char;
Index: libiberty/cp-demangle.h
===================================================================
RCS file: /cvs/gcc/gcc/libiberty/cp-demangle.h,v
retrieving revision 1.3
diff -p -r1.3 cp-demangle.h
*** libiberty/cp-demangle.h 28 Jun 2004 17:52:45 -0000 1.3
--- libiberty/cp-demangle.h 26 Mar 2005 18:32:06 -0000
*************** cplus_demangle_builtin_types[D_BUILTIN_T
*** 148,161 ****
CP_STATIC_IF_GLIBCPP_V3
struct demangle_component *
! cplus_demangle_mangled_name PARAMS ((struct d_info *, int));
CP_STATIC_IF_GLIBCPP_V3
struct demangle_component *
! cplus_demangle_type PARAMS ((struct d_info *));
extern void
! cplus_demangle_init_info PARAMS ((const char *, int, size_t, struct d_info *));
/* cp-demangle.c needs to define this a little differently */
#undef CP_STATIC_IF_GLIBCPP_V3
--- 148,161 ----
CP_STATIC_IF_GLIBCPP_V3
struct demangle_component *
! cplus_demangle_mangled_name (struct d_info *, int);
CP_STATIC_IF_GLIBCPP_V3
struct demangle_component *
! cplus_demangle_type (struct d_info *);
extern void
! cplus_demangle_init_info (const char *, int, size_t, struct d_info *);
/* cp-demangle.c needs to define this a little differently */
#undef CP_STATIC_IF_GLIBCPP_V3