aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/inc
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@codesourcery.com>2000-08-17 15:05:43 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2000-08-17 15:05:43 +0000
commitd13b34e98af1a59ef4b4c7ed9058227bc8f97314 (patch)
treef506e6d5babf8445261e0e3fe88c592415f10ffd /gcc/cp/inc
parent2f1b80afded2f0dce530ea8733ebc75a1ea5fe61 (diff)
downloadgcc-d13b34e98af1a59ef4b4c7ed9058227bc8f97314.zip
gcc-d13b34e98af1a59ef4b4c7ed9058227bc8f97314.tar.gz
gcc-d13b34e98af1a59ef4b4c7ed9058227bc8f97314.tar.bz2
cxxabi.h (__cxa_vec_new2, [...]): Declare.
* inc/cxxabi.h (__cxa_vec_new2, __cxa_vec_new3): Declare. (__cxa_vec_delete2, __cxa_vec_delete3): Declare. * vec.cc (__cxa_vec_new2, __cxa_vec_new3): Implement. (__cxa_vec_delete2, __cxa_vec_delete3): Implement. (__cxa_vec_new): Use __cxa_vec_new2. (__cxa_vec_delete): Use __cxa_vec_delete2. From-SVN: r35761
Diffstat (limited to 'gcc/cp/inc')
-rw-r--r--gcc/cp/inc/cxxabi.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/gcc/cp/inc/cxxabi.h b/gcc/cp/inc/cxxabi.h
index 2a7217f..908d7c4 100644
--- a/gcc/cp/inc/cxxabi.h
+++ b/gcc/cp/inc/cxxabi.h
@@ -437,6 +437,24 @@ void *__cxa_vec_new (__SIZE_TYPE__ __element_count,
void (*__constructor) (void *),
void (*__destructor) (void *));
+extern "C"
+void *__cxa_vec_new2 (__SIZE_TYPE__ __element_count,
+ __SIZE_TYPE__ __element_size,
+ __SIZE_TYPE__ __padding_size,
+ void (*__constructor) (void *),
+ void (*__destructor) (void *),
+ void *(*__alloc) (__SIZE_TYPE__),
+ void (*__dealloc) (void *));
+
+extern "C"
+void *__cxa_vec_new3 (__SIZE_TYPE__ __element_count,
+ __SIZE_TYPE__ __element_size,
+ __SIZE_TYPE__ __padding_size,
+ void (*__constructor) (void *),
+ void (*__destructor) (void *),
+ void *(*__alloc) (__SIZE_TYPE__),
+ void (*__dealloc) (void *, __SIZE_TYPE__));
+
/* construct array */
extern "C"
void __cxa_vec_ctor (void *__array_address,
@@ -467,6 +485,20 @@ void __cxa_vec_delete (void *__array_address,
__SIZE_TYPE__ __padding_size,
void (*__destructor) (void *));
+extern "C"
+void __cxa_vec_delete2 (void *__array_address,
+ __SIZE_TYPE__ __element_size,
+ __SIZE_TYPE__ __padding_size,
+ void (*__destructor) (void *),
+ void (*__dealloc) (void *));
+
+extern "C"
+void __cxa_vec_delete3 (void *__array_address,
+ __SIZE_TYPE__ __element_size,
+ __SIZE_TYPE__ __padding_size,
+ void (*__destructor) (void *),
+ void (*__dealloc) (void *, __SIZE_TYPE__));
+
/* demangling routines */
extern "C"