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