aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/g++.dg/abi/arm_cxa_vec1.C12
2 files changed, 13 insertions, 5 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6d723f2..84e7d7e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2011-04-04 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * g++.dg/abi/arm_cxa_vec1.C (__ARM_EABI__): Fix typo.
+ (cctor): Actually return the value.
+ (main): Cast return values.
+
2010-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
* gfortran.dg/character_comparison_8.f90: New test.
diff --git a/gcc/testsuite/g++.dg/abi/arm_cxa_vec1.C b/gcc/testsuite/g++.dg/abi/arm_cxa_vec1.C
index b681a1f..4c462d5 100644
--- a/gcc/testsuite/g++.dg/abi/arm_cxa_vec1.C
+++ b/gcc/testsuite/g++.dg/abi/arm_cxa_vec1.C
@@ -3,10 +3,12 @@
#include <cxxabi.h>
-#ifdef ___ARM_EABI__
-static void cctor (void * a, void * b)
+#ifdef __ARM_EABI__
+using namespace __cxxabiv1;
+static __cxa_cdtor_return_type cctor (void * a, void * b)
{
- *(char *) a = *(char *) b
+ *(char *) a = *(char *) b;
+ return a;
}
int main()
@@ -15,10 +17,10 @@ int main()
char data2;
char *p;
- p = __cxa_vec_ctor (&data, 1, 1, NULL, NULL);
+ p = (char *) __cxa_vec_ctor (&data, 1, 1, NULL, NULL);
if (p != &data)
return 1;
- p = __cxa_vec_cctor (&data2, &data, 1, 1, cctor, NULL);
+ p = (char *) __cxa_vec_cctor (&data2, &data, 1, 1, cctor, NULL);
if (p != &data2)
return 1;