diff options
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/cp/Make-lang.in | 15 | ||||
-rw-r--r-- | gcc/cp/inc/cxxabi.h | 8 |
3 files changed, 29 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 0cebeac..71cad2a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,11 @@ +2000-06-21 Alex Samuel <samuel@codesourcery.com> + + * Make-lang.in (CXX_LIB2FUNCS): Add cp-demangle.o and dyn-string.o. + (CXX_LIB2SRCS): Add cp-demangle.c and dyn-string.c. + (cp-demangle.o): New rule. + (dyn-string.o): Likewise. + * inc/cxxabi.h (__cxa_demangle): New declaration. + 2000-06-22 Mark Mitchell <mark@codesourcery.com> * cp-tree.h (BV_USE_VCALL_INDEX_P): New macro. diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in index 6763d62..91a1a54 100644 --- a/gcc/cp/Make-lang.in +++ b/gcc/cp/Make-lang.in @@ -62,10 +62,13 @@ CXX_EXTRA_HEADERS = $(srcdir)/cp/inc/typeinfo $(srcdir)/cp/inc/exception \ # Extra code to include in libgcc2. CXX_LIB2FUNCS = tinfo.o tinfo2.o new.o opnew.o opnewnt.o opvnew.o opvnewnt.o \ - opdel.o opdelnt.o opvdel.o opvdelnt.o exception.o vec.o + opdel.o opdelnt.o opvdel.o opvdelnt.o exception.o vec.o \ + cp-demangle.o dyn-string.o CXX_LIB2SRCS = $(srcdir)/cp/new.cc $(srcdir)/cp/new1.cc $(srcdir)/cp/new2.cc \ $(srcdir)/cp/exception.cc $(srcdir)/cp/tinfo.cc \ - $(srcdir)/cp/tinfo2.cc $(srcdir)/cp/tinfo.h + $(srcdir)/cp/tinfo2.cc $(srcdir)/cp/tinfo.h \ + $(srcdir)/../libiberty/cp-demangle.c \ + $(srcdir)/../libiberty/dyn-string.c # # Define the names for selecting c++ in LANGUAGES. # Note that it would be nice to move the dependency on g++ @@ -178,6 +181,14 @@ opvdelnt.o: cc1plus$(exeext) $(srcdir)/cp/new2.cc vec.o: cc1plus$(exeext) $(srcdir)/cp/vec.cc $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(GXX_ABI_FLAG) $(CXXFLAGS) $(INCLUDES) \ -c $(srcdir)/cp/vec.cc -o vec.o +cp-demangle.o: $(srcdir)/../libiberty/cp-demangle.c + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CFLAGS) $(INCLUDES) \ + -DHAVE_CONFIG_H \ + -c $(srcdir)/../libiberty/cp-demangle.c -o cp-demangle.o +dyn-string.o: $(srcdir)/../libiberty/dyn-string.c + $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(CFLAGS) $(INCLUDES) \ + -DHAVE_CONFIG_H \ + -c $(srcdir)/../libiberty/dyn-string.c -o dyn-string.o # We want to update cplib2.txt if any of the source files change... cplib2.txt: $(CXX_LIB2SRCS) $(CXX_EXTRA_HEADERS) diff --git a/gcc/cp/inc/cxxabi.h b/gcc/cp/inc/cxxabi.h index ad918c4..8987b6d 100644 --- a/gcc/cp/inc/cxxabi.h +++ b/gcc/cp/inc/cxxabi.h @@ -459,6 +459,14 @@ void __cxa_vec_delete (void *__array_address, __SIZE_TYPE__ __padding_size, void (*__destructor) (void *)); +/* demangling routines */ + +extern "C" +char *__cxa_demangle (const char *__mangled_name, + char *__output_buffer, + __SIZE_TYPE__ *__length, + int *__status); + } /* namespace __cxxabiv1 */ /* User programs should use the alias `abi'. */ |