Here comes a patch to change the case g++.dg/abi/local1.C to be expected
failure for ARM target.

In "C++ ABI for the ARM architecture", it says,

============================

This runs contrary to ยง2.9.1 of [GC++ABI] which states:

It is intended that two type_info pointers point to equivalent type
descriptions if and only if the pointers are equal. An implementation must
satisfy this constraint, e.g. by using symbol preemption, COMDAT sections,
or other mechanisms.

Fortunately, we can ignore this requirement without violating the C++
standard provided that:

* type_info::operator== and type_info::operator!= compare the strings
returned by type_info::name(), not just the pointers to the RTTI objects and
their names.

* No reliance is placed on the address returned by type_info::name(). (That
is, t1.name() != t2.name() does not imply that t1 != t2).

============================

The patch is,

diff --git a/gcc/testsuite/g++.dg/abi/local1.C
b/gcc/testsuite/g++.dg/abi/local1.C
index 518193c..7f08a8f 100644
--- a/gcc/testsuite/g++.dg/abi/local1.C
+++ b/gcc/testsuite/g++.dg/abi/local1.C
@@ -1,4 +1,4 @@
-// { dg-do run }
+// { dg-do run { xfail { arm*-*-eabi* } } }
 // { dg-additional-sources "local1-a.cc" }
 
 #include <typeinfo>

ChangeLog:

2011-09-14  Jiangning Liu  <jiangning....@arm.com>

        * g++.dg/abi/local1.C: Change to XFAIL for ARM EABI target.

Thanks,
-Jiangning



Reply via email to