FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn FAIL: g++.dg/tree-prof/indir-call-prof.C scan-tree-dump Indirect call -> direct call.* AA transformation on insn
I proposed XFAIL'ing the test at one point but that patch was not accepted. See http://gcc.gnu.org/ml/gcc-patches/2007-01/msg02016.html I get the same failure on IA64 HP-UX.
This patch works for me: Index: libgcov.c =================================================================== --- libgcov.c (revision 140731) +++ libgcov.c (working copy) @@ -777,7 +777,11 @@ void __gcov_indirect_call_profiler (gcov_type* counter, gcov_type value, void* cur_func, void* callee_func) { +#ifdef __ia64__ + if (callee_func && *(void **) cur_func == *(void **) callee_func) +#else if (cur_func == callee_func) +#endif __gcov_one_value_profiler_body (counter, value); } #endif
Subject: Bug 32277 Author: sje Date: Wed Oct 29 19:46:16 2008 New Revision: 141442 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=141442 Log: PR target/32277 * libgcov.c ( __gcov_indirect_call_profiler): Check TARGET_VTABLE_USES_DESCRIPTORS. Modified: trunk/gcc/ChangeLog trunk/gcc/libgcov.c
Fixed with patch to libgcov.c