diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/abi/arm_cxa_vec1.C | 12 |
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; |