aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2004-09-16 03:41:19 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2004-09-16 03:41:19 +0000
commit511bbc8f91882da77dfb2026bbed3ee94df4f731 (patch)
treec2094545552a4faf8500ecec49f51af6a4e34bb0 /gcc
parent329bed5eb4e681e1d2acf011ab73cda83ba8d5d1 (diff)
downloadgcc-511bbc8f91882da77dfb2026bbed3ee94df4f731.zip
gcc-511bbc8f91882da77dfb2026bbed3ee94df4f731.tar.gz
gcc-511bbc8f91882da77dfb2026bbed3ee94df4f731.tar.bz2
cxxabi_tweaks.h (__cxa_cdtor_return_type): Define.
* config/cpu/arm/cxxabi_tweaks.h (__cxa_cdtor_return_type): Define. * config/cpu/generic/cxxabi_tweaks.h (__cxa_cdtor_return_type): Define. * libsupc++/cxxabi.h (__cxa_cdtor_return_type): New type. (__cxa_vec_new): Use it. (__cxa_vec_new2): Likewise. (__cxa_vec_new3): Likewise. (__cxa_vec_cdtor): Likewise. (__cxa_vec_cctor): Likeiwse. (__cxa_vec_dtor): Likewise. (__cxa_vec_cleanup): Likewise. (__cxa_vec_delete2): Likewise. (__cxa_vec_delete3): Likewise. * libsupc++/vec.cc (__cxa_vec_new): Likewise. (__cxa_vec_new2): Likewise. (__cxa_vec_new3): Likewise. (__cxa_vec_cdtor): Likewise. (__cxa_vec_cctor): Likeiwse. (__cxa_vec_dtor): Likewise. (__cxa_vec_cleanup): Likewise. (__cxa_vec_delete2): Likewise. (__cxa_vec_delete3): Likewise. (__aeabi_vec_ctor_nocookie_nodtor): New function. (__aeabi_vec_ctor_cookie_nodtor): Likewise. (__aeabi_vec_cctor_nocookie_nodtor): Likewise. (__aeabi_vec_new_cookie_noctor): Likewise. (__aeabi_vec_new_nocookie): Likewise. (__aeabi_vec_new_cookie_nodtor): Likewise. (__aeabi_vec_new_cookie): Likewise. (__aeabi_vec_dtor): Likewise. (__aeabi_vec_dtor_cookie): Likewise. (__aeabi_vec_delete): Likewise. (__aeabi_vec_delete3): Likewise. (__aeabi_vec_delete3_nodtor): Likewise. (__aeabi_atexit): Likewise. * testsuite/g++.old-deja/g++.abi/cxa_vec.C: Adjust for ARM EABI. From-SVN: r87585
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C10
2 files changed, 13 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f9dfb7f..357fe77 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2004-09-15 Mark Mitchell <mark@codesourcery.com>
+ * testsuite/g++.old-deja/g++.abi/cxa_vec.C: Adjust for ARM
+ EABI.
+
+2004-09-15 Mark Mitchell <mark@codesourcery.com>
+
* g++.dg/opt/switch1.C: New test.
2004-09-15 Joseph S. Myers <jsm@polyomino.org.uk>
diff --git a/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C b/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
index a6fdc44..3c05f16 100644
--- a/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
+++ b/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
@@ -22,14 +22,17 @@ static bool dtor_repeat = false;
#endif
// our pseudo ctors and dtors
-static void ctor (void *)
+static abi::__cxa_cdtor_return_type ctor (void *x)
{
if (!ctor_count)
throw 1;
ctor_count--;
+#ifdef __ARM_EABI__
+ return x;
+#endif
}
-static void dtor (void *)
+static abi::__cxa_cdtor_return_type dtor (void *x)
{
if (!dtor_count)
{
@@ -38,6 +41,9 @@ static void dtor (void *)
throw 1;
}
dtor_count--;
+#ifdef __ARM_EABI__
+ return x;
+#endif
}
// track new and delete