diff options
author | Marc Espie <espie@cvs.openbsd.org> | 2001-06-09 22:02:03 +0000 |
---|---|---|
committer | Marc Espie <espie@cvs.openbsd.org> | 2001-06-09 22:02:03 +0000 |
commit | 35ff643adcfa518df7d20f6af0ed0de270527aae (patch) | |
tree | 35f560cee8d30c07a9be26e5cd7fc6e8786c426b | |
parent | 7505d98a2942b2a8b18c6f32712802c839295c24 (diff) |
Synch with binutils 2.10.1, add dyn-string to libiberty.
-rw-r--r-- | gnu/egcs/include/dyn-string.h | 92 | ||||
-rw-r--r-- | gnu/egcs/libiberty/Makefile.bsd-wrapper | 4 | ||||
-rw-r--r-- | gnu/egcs/libiberty/shlib_version | 2 |
3 files changed, 95 insertions, 3 deletions
diff --git a/gnu/egcs/include/dyn-string.h b/gnu/egcs/include/dyn-string.h new file mode 100644 index 00000000000..67f7ab7d36e --- /dev/null +++ b/gnu/egcs/include/dyn-string.h @@ -0,0 +1,92 @@ +/* An abstract string datatype. + Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. + Contributed by Mark Mitchell (mark@markmitchell.com). + +This file is part of GNU CC. + +GNU CC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU CC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU CC; see the file COPYING. If not, write to +the Free Software Foundation, 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + + +typedef struct dyn_string +{ + int allocated; /* The amount of space allocated for the string. */ + int length; /* The actual length of the string. */ + char *s; /* The string itself, NUL-terminated. */ +}* dyn_string_t; + +/* The length STR, in bytes, not including the terminating NUL. */ +#define dyn_string_length(STR) \ + ((STR)->length) + +/* The NTBS in which the contents of STR are stored. */ +#define dyn_string_buf(STR) \ + ((STR)->s) + +/* Compare DS1 to DS2 with strcmp. */ +#define dyn_string_compare(DS1, DS2) \ + (strcmp ((DS1)->s, (DS2)->s)) + + +/* dyn_string functions are used in the demangling implementation + included in the G++ runtime library. To prevent collisions with + names in user programs, the functions that are used in the + demangler are given implementation-reserved names. */ + +#ifdef IN_LIBGCC2 + +#define dyn_string_init __cxa_dyn_string_init +#define dyn_string_new __cxa_dyn_string_new +#define dyn_string_delete __cxa_dyn_string_delete +#define dyn_string_release __cxa_dyn_string_release +#define dyn_string_resize __cxa_dyn_string_resize +#define dyn_string_clear __cxa_dyn_string_clear +#define dyn_string_copy __cxa_dyn_string_copy +#define dyn_string_copy_cstr __cxa_dyn_string_copy_cstr +#define dyn_string_prepend __cxa_dyn_string_prepend +#define dyn_string_prepend_cstr __cxa_dyn_string_prepend_cstr +#define dyn_string_insert __cxa_dyn_string_insert +#define dyn_string_insert_cstr __cxa_dyn_string_insert_cstr +#define dyn_string_insert_char __cxa_dyn_string_insert_char +#define dyn_string_append __cxa_dyn_string_append +#define dyn_string_append_cstr __cxa_dyn_string_append_cstr +#define dyn_string_append_char __cxa_dyn_string_append_char +#define dyn_string_substring __cxa_dyn_string_substring +#define dyn_string_eq __cxa_dyn_string_eq + +#endif /* IN_LIBGCC2 */ + + +extern int dyn_string_init PARAMS ((struct dyn_string *, int)); +extern dyn_string_t dyn_string_new PARAMS ((int)); +extern void dyn_string_delete PARAMS ((dyn_string_t)); +extern char *dyn_string_release PARAMS ((dyn_string_t)); +extern dyn_string_t dyn_string_resize PARAMS ((dyn_string_t, int)); +extern void dyn_string_clear PARAMS ((dyn_string_t)); +extern int dyn_string_copy PARAMS ((dyn_string_t, dyn_string_t)); +extern int dyn_string_copy_cstr PARAMS ((dyn_string_t, const char *)); +extern int dyn_string_prepend PARAMS ((dyn_string_t, dyn_string_t)); +extern int dyn_string_prepend_cstr PARAMS ((dyn_string_t, const char *)); +extern int dyn_string_insert PARAMS ((dyn_string_t, int, + dyn_string_t)); +extern int dyn_string_insert_cstr PARAMS ((dyn_string_t, int, + const char *)); +extern int dyn_string_insert_char PARAMS ((dyn_string_t, int, int)); +extern int dyn_string_append PARAMS ((dyn_string_t, dyn_string_t)); +extern int dyn_string_append_cstr PARAMS ((dyn_string_t, const char *)); +extern int dyn_string_append_char PARAMS ((dyn_string_t, int)); +extern int dyn_string_substring PARAMS ((dyn_string_t, + dyn_string_t, int, int)); +extern int dyn_string_eq PARAMS ((dyn_string_t, dyn_string_t)); diff --git a/gnu/egcs/libiberty/Makefile.bsd-wrapper b/gnu/egcs/libiberty/Makefile.bsd-wrapper index 0bd0781bd74..9071d4fd4ca 100644 --- a/gnu/egcs/libiberty/Makefile.bsd-wrapper +++ b/gnu/egcs/libiberty/Makefile.bsd-wrapper @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile.bsd-wrapper,v 1.8 2000/07/26 12:02:58 espie Exp $ +# $OpenBSD: Makefile.bsd-wrapper,v 1.9 2001/06/09 22:02:01 espie Exp $ LIB= iberty CPPFLAGS+= -I$(.CURDIR) -I$(.CURDIR)/../include -I$(.OBJDIR) @@ -16,7 +16,7 @@ PREREQ!= test ! -f $(.OBJDIR)/needed-list && \ HOST_FILES!= cat $(.OBJDIR)/needed-list .endif -SRCS= argv.c choose-temp.c concat.c cplus-dem.c \ +SRCS= argv.c choose-temp.c concat.c cplus-dem.c dyn-string.c \ fdmatch.c getopt.c getopt1.c getruntime.c hashtab.c hex.c \ floatformat.c objalloc.c obstack.c pexecute.c spaces.c \ splay-tree.c strerror.c strsignal.c xatexit.c xexit.c \ diff --git a/gnu/egcs/libiberty/shlib_version b/gnu/egcs/libiberty/shlib_version index d9961ea9fef..890c57389b5 100644 --- a/gnu/egcs/libiberty/shlib_version +++ b/gnu/egcs/libiberty/shlib_version @@ -1,2 +1,2 @@ major=4 -minor=0 +minor=1 |